Я пытаюсь найти способ для PHP, чтобы обнаружить букву диска USB-приложения, включенное в приложение, но мне не повезло.
Я делаю рабочий стол, который идет рука об руку с приложениями, которые я установил с portableapps.com. Основной рабочий стол и все приложения находятся на USB-накопителе; файлы PHP хранятся в версии USB xampp.
В настоящее время у меня установлен условный оператор, где, если бы я должен был щелкнуть значок рабочего стола для одного из портативных приложений, он добавит «? App = APPNAME», который затем будет подхвачен условным и откройте приложение.
<?php $app = $_GET['app']; if ($app == 'pidgin') { $addr = "E:/PortableApps/PidginPortable/PidginPortable.exe"; exec ($addr,$output, $return); } ?>
Я хочу иметь возможность подключать этот диск к любому компьютеру и не запускать проблемы с открытием приложений, так что есть способ удалить E: / в местоположении файла и все еще иметь их открытыми или, по крайней мере, способом обнаружения того, какой диск буква USB использует и изменяет эту часть моего кода на основе того, что он обнаруживает?
Возможно, вы сможете проанализировать его из волшебной константы __FILE__
. У меня нет компьютера Windows, но я думаю, это будет первый персонаж. Так что это может сработать:
$drive = substr(__FILE__, 0, 1);
// Returns null if unable to determine drive letter (such as on a *nix box) function driveLetter($path) { return (preg_match('/^[AZ]:/i', $path = realpath($path))) ? $path[0] : null; } // To find drive letter of current file echo "Drive letter is: ", driveLetter(__FILE__);