Определете буквата на устройството на Windows с помощта на PHP [затворено]

Потърсих малко, но не намерих отговора. Възможно ли е да откриете системния диск/папка на сървърите без никакви хакове?

В отговора, който предоставихте, се обсъжда само как да се определи текущото устройство, но трябва да намеря системното устройство, където е инсталирана операционната система.


person Александр Пушки&    schedule 20.01.2016    source източник
comment
Мисля, че ако имате клас COM, можете да направите това. Не съм сигурен дали има команда за използване с exec(). Това може да са единствените опции. Няма собствени PHP команди (въпросът е защо трябва да добавят това). Google може би може да помогне повече с командите, свързани с windows.   -  person Charlotte Dunois    schedule 20.01.2016
comment
@CharlotteDunois, какъв COM клас? Освен това от страна на сървъра нямаме нищо освен обичайното php среда, понякога ограничено до команди exec. Мислех, че трябва да има някои функции, които да свършат работа.   -  person Александр Пушки&    schedule 20.01.2016
comment
@RiggsFolly Възможен дубликат, но не е 100% сигурен, тъй като местоположението на уеб корена може да е на устройство, различно от операционната система.   -  person Charlotte Dunois    schedule 20.01.2016
comment
@CharlotteDunois Имате право, не разбрах system бита при първо четене, затворете премахнато   -  person RiggsFolly    schedule 20.01.2016
comment
Опитайте да погледнете $_SERVER["SystemRoot"], въпреки че не съм сигурен какво ще върне в UNIX среда   -  person RiggsFolly    schedule 20.01.2016
comment
@CharlotteDunois, интересна информация. Може би ще го използвам като план Б, ако не се намери нищо повече.   -  person Александр Пушки&    schedule 20.01.2016


Отговори (1)


За Windows:

echo GetEnv("SystemDrive");
// C:

В Unix/Linux обаче тази променлива не съществува, но там системното "устройство" е предвидимо само /.

ако имате нужда от действителния дял, можете да опитате да го получите с това:

exec( 'mount |grep " / " | cut -d " " -f 1' );
// /dev/sda1
person Gerald Schneider    schedule 20.01.2016
comment
Благодаря за съвета за Linux. Също така, още един въпрос - с помощта на GetEnv или $_SERVER мога ли всъщност да разбера името на ОС? - person Александр Пушки&; 20.01.2016
comment
Можете да видите всички налични променливи на средата с phpinfo(), $_SERVER може да се проверява като всички променливи с var_dump(). - person Gerald Schneider; 20.01.2016