2010-01-15 4 views
2

это указывает на каталог, в котором выполняется текущий файл?

+2

«document_root» - это не то же самое, что «DOCUMENT_ROOT». – ghostdog74

ответ

8

Нет, это указывает на корень вашего веб-сервера - самая верхняя папка вашего сайта.

Если вы хотите, чтобы каталог текущего файла, используйте:

dirname(__FILE__);

+0

+1: Это правильный способ сделать это. (Я понимаю, что я опубликовал это дважды, но два ответа, в которых упоминалось это решение, были буквально размещены на 1 секунду друг от друга ... 49 и 50 секунд, прежде чем я загрузил эту страницу) – Powerlord

0

Документ корневой каталог, при котором текущий скрипт, как определено в файле конфигурации сервера.

как следует из названия, это корневой каталог.

0

Да, это так. Это путь относительно корня вашего сервера (а не корневого документа), который описывает каталог текущего скрипта. У него нет задней черты.

1

Возможно, в зависимости от того, как настроен сервер. Гораздо лучше способ:

echo dirname(__FILE__); // return the absolute file-path to where the current PHP file is 
+0

+1: Это правильный способ сделать это. – Powerlord

1

Нет, это не так,

DOCUMENT_ROOT указывает на корневой каталог вашего веб-сервера, в то время как PATH_INFO указывает на каталог где выполняется текущий файл.

+0

Извините, но вы ошибаетесь. Если у меня есть адрес http: //myhost/my/path/xyz.php/foo/bar, то PATH_INFO содержит foo/bar. – Rolf

+0

К сожалению, потребовалось слишком много времени для редактирования :) DOCUMENT_ROOT - это путь к серверу, но PATH_INFO - это псевдо-путь, который добавляется к имени php-скрипта, например: http: // myhost/my/path/xyz.php/Foo/бар. foo/bar обычно будет внутренним путем в вашей логике. Ваш PHP может интерпретировать его как путь к серверу, но это необязательно. Браузер, с другой стороны, ничего не знает об этом и считает, что my/path/xyz.php/foo/bar является «текущим объектом», и когда вы ссылаетесь на изображение CSS другого типа «./sna.foo «Тогда вы будете удивлены. – Rolf

Смежные вопросы