Теперь я создаю небольшое PHP-приложение, здесь у меня проблема с использованием пути к файлу, потому что в Windows это расположение типа C:\Some\Location\index
но в Linux /www/app/index
поэтому, когда я определяю путь, используя этот /
но когда приложение запускается в оконном компьютере, это должно быть проблемой для этого /
.
Поэтому здесь я хочу определить DIRECTORY_SEPARATOR как платформу Windows, так и Linux.
PHP допускает как \
и /
как допустимые разделители путей во всех ОС. Поэтому просто используйте /
в своем коде
Для удобства вы можете написать определение более короткой константы:
DEFINE('DS', DIRECTORY_SEPARATOR);
и затем напишите свой путь как:
$path = 'www'.DS.'app'.DS.'index';
Или я не понимаю ваш вопрос?
Пожалуйста, ознакомьтесь с предопределенными константами PHP
Возможно, это уже определено в вашем скрипте, попробуйте повторить DIRECTORY_SEPARATOR, посмотрите, имеет ли он какое-либо значение
PHP понимает «\» и «/» как разделители путей, независимо от того, в какой системе вы находитесь. Я предпочитаю использовать '/' (путь unix) во всем моем коде. Когда вы находитесь в окне окна, и вам необходимо предоставить полный доступ к окнам / DOS, у меня будет эта простая, неразрушающая функция
function dosPath($path){ return str_replace('/', '\\', $path); }
Пример:
$drive = 'C:'; $path = '/tmp/uploads'; echo dosPath($drive.$path); echo dosPath($path);
В большинстве случаев Windows принимает косые черты, поэтому вы можете просто использовать их. Вы даже можете использовать смесь, и она не будет жаловаться.
Убедитесь, что ваш пакет unit-test также распространяется на Linux!