Найдите путь к файлу и включите его

У меня проблема с включением файла во все мои каталоги с одним или несколькими уровнями глубины.

У меня есть структура каталогов, как

=>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 они находятся в разных каталогах — 2 с разным уровнем глубины. И мой config.php существует в корневой папке.

Сейчас я должен разместить config.php файл в каждой папке или должны изменить путь включения в зависимости от глубины каталога. Есть ли решение, в котором я использую одну функцию в каждом файле, которая автоматически находит глубину каталога и автоматически включает этот файл?

1

Решение

Используйте следующую функцию, чтобы получить путь из глубины каталога

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

Другие решения

Вы можете вызывать файлы, используя относительный путь, как это для

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

По вопросам рекламы [email protected]