Относительный и Абсолютный Путь
Я хочу сослаться на файл, который находится в моем корневом каталоге. Проблема в том, что этот файл используется несколькими другими сценариями PHP, которые могут иметь глубину 2 или 3 пути.
Я могу сослаться на это
'../database_sql/dbconnect.php' ; 1 deep
'../../database_sql/dbconnect.php' ; 2 deep
'../../../database_sql/dbconnect.php' ; 3 deep
Мой вопрос заключается в том, как я могу ссылаться на этот файл корневой папки, не зная, насколько глубоким является путь, т.е. ../../../
так далее
2 ответа
Решение
Два решения:
Первый - определить константу, значением которой является корневой каталог:
// 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';
Альтернативное решение (немного больше работы) состоит в том, чтобы перейти к объектно-ориентированному и реализовать автозагрузчик.