Единая совместимость косых и обратных косых черт в PHP для UNIX и Windows - PullRequest
0 голосов
/ 20 июня 2020

В моем коде PHP у меня есть это:

$directory = WWWROOT."img\\".$component."\\ProductTemplate\\";

Когда я выполняю свою программу на сервере Windows, я получаю следующее:

C:\Users\jaimemontoya\[path]\app\webroot\img\medium_thumb\ProductTemplate\

Когда я Запустите мою программу на сервере UNIX, я получаю следующее:

/home/jaimemon/public_html/[path]/app/webroot/img\medium_thumb\ProductTemplate\

Моя программа работает правильно на сервере Windows, но не работает должным образом на сервере UNIX. Должен ли я сначала определить операционную систему, а затем использовать соответствующий код? Есть ли встроенная функция PHP для достижения такой совместимости? Любые идеи будут полезны. Спасибо.

1 Ответ

0 голосов
/ 20 июня 2020

Где-то в моем коде я обнаружил следующее:

/*
 * Use the DS to separate the directories in other defines
 */
if (!defined('DS')) {
    define('DS', DIRECTORY_SEPARATOR);
}

Я предполагаю, что DIRECTORY_SEPARATOR - это константа, встроенная в Cake PHP. Я не уверена. Но это работает. Я использовал это:

$directory = WWWROOT."img".DS.$component.DS."ProductTemplate".DS;

Теперь он работает как на UNIX, так и на Windows. Для Windows я получаю это:

C:\Users\jaimemontoya\[path]\app\webroot\img\medium_thumb\ProductTemplate\

Для UNIX я получаю это:

/home/jaimemon/public_html/[path]/app/webroot/img/medium_thumb/ProductTemplate/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...