Заставьте путь работать как на Linux, так и на Windows - PullRequest
31 голосов
/ 14 ноября 2010

Как мне убедиться, что этот путь:

new Zend_Log_Writer_Stream(APPLICATION_PATH . '\logs\app.log')  

работает как на Linux, так и на Windows?

Ответы [ 4 ]

62 голосов
/ 14 ноября 2010

В Linux разделитель пути - /.В Windows это либо \, либо /.Так что просто используйте косую черту и все будет в порядке.

APPLICATION_PATH . '/logs/app.log'
31 голосов
/ 14 ноября 2010

Вы также можете использовать DIRECTORY_SEPARATOR константу вместо \ или /. Обычно вы хотите переопределить его, чтобы иметь более короткое имя, например

define('DS', DIRECTORY_SEPARATOR);
$filename = APP . DS . 'logs' . DS . 'file.txt';
0 голосов
/ 02 сентября 2017

Достаточно просто realpath ()

Пример № 2

0 голосов
/ 25 августа 2016

, если вы хотите связать два или более приложений вашего сайта, этот трюк вам очень пригодится

$ Document_root = realpath ( \ filter_input ( INPUT_SERVER , ' DOCUMENT_ROOT '));

это для преобразования маршрута обратно в реальный путь, а затем просто перемещаться между каталогами с помощью DIRECTORY_SEPARATOR, не беспокоясь об операционной системе, установленной на вашем компьютере или веб-сервере

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...