Обработка относительных путей для включаемых файлов в PHP - PullRequest
0 голосов
/ 14 июля 2010

Я делаю проект на PHP, который мне не очень знаком. Я использую MVC Framework (CodeIgnitor). Я заметил, что каждый раз, когда я возвращаю представление, полученное из более длинной / короткой строки URL, все мои разрывы включаются. Похоже, что пути относительно URL.

Является ли $ _SERVER ["DOCUMENT_ROOT"] лучшим способом создания путей включения в PHP?

Спасибо!

Ответы [ 3 ]

1 голос
/ 14 июля 2010

Вы должны прочитать Руководство пользователя по URL Helpers .Он уже содержит всю необходимую информацию и предоставляет функции, которые дают вам пути для вашего сайта.

Если вам нужны пути в вашей файловой системе, есть BASEPATH, APPPATH и FCPATH.Загляните в index.php, чтобы увидеть, куда они указывают (также есть описание этих констант)

0 голосов
/ 14 июля 2010

base_url () и site_url (), вероятно, то, что вам нужно.

0 голосов
/ 14 июля 2010

Я действительно зависит от вашего приложения, я не знаю, как работает CodeIgnitor, но вот несколько моментов:

Если вы используете путь php (определенный в php.ini), вы всегда можете оставить васвключает в путь php, поэтому включение файла больше не относится к пути файла.

Если у вас есть каталог проекта (например, / srv / www / myProject /) и все файлы, которые вы используете, находятся в этомdir, тогда вы можете определить значение сеанса, например, $ _SESSION ['project_path'] = '/ srv / www / myProject', а затем при включении файлов это будет выглядеть так:

include_once($_SESSION['project_path'] . 'included.php');

ВызовАбсолютный путь сделает включение безразличным к текущему пути.

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