Какой путь приемлем? - PullRequest
       5

Какой путь приемлем?

2 голосов
/ 19 февраля 2010

Я использую приведенный ниже оператор для возврата имени каталога запущенного скрипта:

print dirname(__FILE__);

выводит что-то вроде этого с обратной косой чертой:

www\EZPHP\core\ezphp.php

Вопрос:

Допустим ли путь с обратными слешами во всех основных операционных системах? Если нет, то как мне создать путь с косой чертой или обратной косой чертой, чтобы он был приемлем для всех основных операционных систем, например Windows, Linux, Ubuntu.

Спасибо.

Ответы [ 4 ]

2 голосов
/ 19 февраля 2010

Прямая косая черта - хороший маршрут.

Существует также константа с именем DIRECTORY_SEPARATOR, которая возвращает разделитель каталогов для системы, в которой выполняется код.

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

HTH, Jc

2 голосов
/ 19 февраля 2010

Я бы нормализовал это для слешей.Windows принимает прямые косые черты, и они используются по умолчанию в * nix системах

print str_replace('\\','/',dirname(__FILE__));

1 голос
/ 19 февраля 2010

Неважно, dirname () всегда возвращает путь в формате ОС.

dirname('c:/x'); // returns 'c:\'
dirname('c:/Temp/x'); // returns 'c:/Temp'
dirname('/x'); // returns '\'
1 голос
/ 19 февраля 2010

В действительности это не имеет значения ... это потому, что dirname () не обязательно возвращает обратную косую черту: она возвращает любой разделитель каталогов, используемый ОС.То есть, все, что возвращает dirname, является разделителем, который вы должны использовать в любом случае.

Кроме этого, просто используйте прямую косую черту: PHP будет правильно интерпретировать его в Windows и Linux.

...