Включая файл PHP, обрабатывает относительные URL-адреса из этого каталога - PullRequest
1 голос
/ 23 февраля 2009

У меня есть файл PHP на моем сервере root .. index.php .. which include s .. DIR / main.php

Сейчас .. DIR / main.php .. include Множество соседних PHP-файлов, использующих относительных URL-адресов с использованием .. include("./common1.php");

В любом случае я могу изменить относительный URL-адрес базовый путь , поэтому при включении «DIR / main.php» он может относительно обращаться к расположенным рядом PHP-файлам, таким как «DIR / common1.php», вместо попытки найти "common1.php" в корне сайта.

Ответы [ 3 ]

2 голосов
/ 23 февраля 2009

Взгляните на set_include_path

Редактировать: при добавлении путей к include_path обязательно используйте константу PATH_SEPARATOR, так как она предназначена для того, чтобы сделать вашу ОС включенной в путь включенной.

<?php

set_include_path(implode(PATH_SEPARATOR, array(
    get_include_path(),
    '/DIR1',
    '/DIR2/DIR3',
    dirname(__FILE__),
)));

?>
0 голосов
/ 23 февраля 2009

Сначала установите "относительный URL-адрес базовый путь " для вашего каталога

set_include_path( get_include_path() . '/DIR' );

Во-вторых, включите свой файл!

require( 'main.php' );

Это должно сработать, хотя я не проверял.

0 голосов
/ 23 февраля 2009

В дополнение к ответу lonut вы можете получить каталог файла, используя комбинацию константы __FILE__ и dirname().

$include_path = dirname(__FILE__);
set_include_path($include_path);
...