查找文件路径并包含它

Find file path and include it

我在所有具有一层或多层深度的目录中包含一个文件时遇到问题。

我的目录结构像

=>public_html=>first_dir=>index.php
=>public_html=>first_dir=>second_dir=>index.php
=>public_html=>first_dir=>second_dir=>thired_dir=>index.php

现在我想将 config.php 文件包含在所有 index.php 中,这些文件位于具有不同深度的 different-2 目录中。我的 config.php 存在于根文件夹中。

现在我必须将 config.php 文件放在每个文件夹中,或者必须根据目录深度更改包含路径。有什么解决方案可以让我在每个文件中使用一个函数来自动查找目录深度并自动包含该文件吗?

您可以使用这样的相对路径调用文件

=>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';

使用以下函数从目录深度获取路径

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;
}