Как определить DIRECTORY_SEPARATOR для платформ Windows и Linux?

Теперь я создаю небольшое 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!