Подтвердить что ты не робот

Как добавить путь к PHP include_path в .htaccess

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

include 'head.php';
include '../head.php';
include '../../head.php';

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

Я убежден, что .htaccess - это решение, но я не уверен, как его реализовать. Если я вставляю:

php_value include_path "public/html/root"

... Я теряю остальные мои пути (/usr/lib/php и т.д.). Я наивно пытался:

php_value include_path $include_path . "(path)"

но, конечно, это не сработало. Как я могу добавить или добавить один путь к этому списку с помощью .htaccess?

4b9b3361

Ответ 1

Если вы не можете редактировать файл php.ini, вы можете добавить

set_include_path(get_include_path() . PATH_SEPARATOR . $path_to_add);

перед вашими утверждениями include.

Однако, если вы обнаруживаете проблемы с include или require, это, вероятно, запах кода. Лучшим решением будет хороший объектно-ориентированный дизайн с хорошей функцией __autoload.

Ответ 2

Создайте в под-подкаталогах файл .htaccess с содержимым

php_value include_path '../../includes'

или любой другой include_path подходит для этого каталога.

Преимущества:

  • Без уродливого взлома с несколькими включениями с разной глубиной. Просто include 'head.php'.
  • Нет зависимости от редактирования php.ini.
  • Не нужно использовать set_include_path() перед включением.
  • Никакая зависимость от включения констант, таких как include INCLUDE_PATH . 'head.php'.

Цена:

Вы помещаете свои под-подкаталоги каждый с файлом .htaccess.