2010-02-02 3 views
3

Что такое set_include_path Относительно PHP? Это папка, в которой находится PHP.exe? Это веб-роутер? Другими словами, в какую папку должны были бы задаваться set_include_path ('/') или set_include_path ('.')?Что такое «Начальная точка» для PHP_set_include_path

+0

GZipp сделал следующее предложение, которое было очень полезно для меня: Попробуйте запустить тестовый скрипт - set_include_path ('/'); echo realpath (get_include_path()); – Joshua

ответ

2

Относительные пути разрешаются из местоположения файла, в котором include или другая функция, которая использует include_path используется в (см description of include_path):

Использование в включают в себя путь к . позволяет относительно включает в себя, как это означает текущий каталог. Тем не менее, более эффективно явно использовать include './file', чем PHP всегда проверяет текущий каталог для каждого include.

/ будет описывать корень вашей файловой системы и . текущий каталог.

+0

Итак, какая папка была бы «/»? – Joshua

+3

@Joshua - Попробуйте запустить тестовый скрипт - set_include_path ('/'); echo realpath (get_include_path()); – GZipp

+0

Спасибо! realpath - это именно то, что мне нужно было все время! – Joshua

1

Корень файловой системы и текущий каталог, respectively.

+0

В корне файловой системы вы имеете в виду C: \? – Joshua

+0

Если ваш веб-сервер и т. Д. Запущены C :, уверен. –

+0

Мой веб-сервер отключен от X :, который является общей папкой на C: сопоставлен с X: – Joshua

1

set_include_path ("/") сделает путь включения корневой папкой файловой системы, и я бы предположил, что вы, вероятно, не захотите это делать, поскольку могут возникнуть проблемы с выставлением файлов, которые вы наняли Не хочу, чтобы меня видели.

Если ваш файл php был /home/users/joebloggs/htmlroot/index.php, то set_include_path (".") Сделает путь include к каталогу, в котором находится php-файл, то есть к каталогу «htmlroot».

0

В системах * nix и Windows Apache/является корнем файловой системы. Пока на IIS/указывает на корень vhost.

Что я делаю для этого, это определить константу LOC в моем index.php, чтобы я никогда не путался при включении файлов.

define('LOC', dirname(__FILE__)); 
include(LOC . '/files/file.php'); 
Смежные вопросы