Относительный и Абсолютный Путь - PullRequest
0 голосов
/ 05 сентября 2011

Я хочу сослаться на файл, который находится в моем корневом каталоге. Проблема в том, что этот файл используется несколькими другими PHP-скриптами, которые могут иметь глубину 2 или 3 пути.

Я могу сослаться на это по

'../database_sql/dbconnect.php' ; 1 deep 
'../../database_sql/dbconnect.php' ; 2 deep 
'../../../database_sql/dbconnect.php' ; 3 deep 

Мой вопрос заключается в том, как я могу сослаться на этот файл корневой папки, не зная, насколько глубокий путь, т.е.

Ответы [ 2 ]

3 голосов
/ 05 сентября 2011

Альтернативное решение (немного больше работы) состоит в том, чтобы перейти к объектно-ориентированному и реализовать автозагрузчик .

3 голосов
/ 05 сентября 2011

Два решения:

Первый - определить константу, значением которой является корневой каталог:

// in a file in a your root directory:
define('ROOT', dirname(__DIR__));

// in other files:
include ROOT . '/file/relative/to/the/root.php';

Второй - использовать include_path:

// in a file in your root directory:
set_include_path(dirname(__DIR__) . PATH_SEPARATOR . get_include_path());

// in other files:
// PHP will search in include_path 
include 'file/relative/to/the/root.php';
...