Я написал функцию для моего проекта, которую вы можете использовать.Возможно, есть более эффективный способ, но он работает.Я добавляю эту функцию getRoot () перед всеми файлами, на которые я ссылаюсь.
/**
*
* Return the root of the current page so we can call any page from any folder
*
*/
function getRoot(){
$root = ROOT_DIR;
$root = str_replace("\\", "/", $root);
$pageroot = getcwd() ."/";
$pageroot = str_replace("\\", "/", $pageroot);
$root = str_replace($root."/", '' , $pageroot);
$root = preg_replace("#(/.*?).*?(/)#", '/../', "/".$root);
$root = substr($root, 1);
return $root;
}
А затем установите эту строку на странице, которая находится в корневой папке.** Должно быть определено в вашей корневой папке.
define('ROOT_DIR', __DIR__);
Наконец, вы можете вызвать функцию, подобную этой
$file = getRoot()."path/to/file";
В основном функция добавит правильное количество ../чтобы вернуть вас в корневую папку.Тогда вы можете универсально установить любую переменную на основе этого.