我在所有目录中包含一个或多个级别深度的文件都有问题。
我有目录结构,例如
=>public_html=>first_dir=>index.php
=>public_html=>first_dir=>second_dir=>index.php
=>public_html=>first_dir=>second_dir=>thired_dir=>index.php
现在,我想在所有index.php
中包括config.php
文件,这些文件在不同的2目录中具有不同的深度级别。并且我的config.php
存在于根文件夹中。
目前,我必须将config.php
文件放在每个文件夹中,或者必须根据目录深度进行更改。我是否有任何解决方案在每个文件中使用一个函数可以自动找到目录深度并自动包含该文件?
使用以下功能从目录深度
获取路径function get_include_path($file_name)
{
$folder_depth = substr_count($_SERVER["PHP_SELF"] , "/");
$directory_level = 1; //If file exist in folder after root use 2
if($folder_depth == false)
{
$folder_depth = 1;
}
return str_repeat("../", $folder_depth - $directory_level).$file_name;
}
您可以使用类似的相对路径来调用文件
=> public_html => first_dir => index.php => include("../config.php");
=> public_html => first_dir => second_dir => index.php => include("../../config.php");
=> public_html => first_dir => second_dir => thired_dir => index.php => include("../../../config.php");
或者您也可以在所有文件中调用
include $_SERVER['DOCUMENT_ROOT'] . '/config.php';