PHP – Относительные пути "требуют"

Моя структура каталогов выглядит так:

blog -> admin -> index.php blog.php db.php functions.php 

Я пытаюсь include ( require , really) blog.php в admin/index.php , но сталкивается с множеством ошибок. Я следую курсу PHP, и инструктор делает то же самое успешно.

админ / index.php:

 require "../blog.php"; 

который, в свою очередь, требует еще два файла в его каталоге.

 require "db.php"; require "functions.php"; 

Solutions Collecting From Web of "PHP – Относительные пути "требуют""

Если вы обнаружите, что относительные включенные пути не работают должным образом, быстрое исправление заключается в том, чтобы добавить __DIR__ в начало пути, который вы хотите включить.

 require __DIR__ . "/../blog.php"; 

Он достаточно чист, и вам не нужно изменять путь включения или рабочий каталог.

Если вы включаете эти файлы db.php and functions.php в index.php тогда вы должны написать этот код

 require "../db.php"; require "../functions.php"; 

ИЛИ если вы включаете эти файлы в blog.php напишите этот код

 require "db.php"; require "functions.php"; 

Вам нужно установить include_path в php.ini.

Если вы хотите установить его во время выполнения, используйте set_include_path() .

Мне нравится запускать файлы с помощью chdir($_SERVER['DOCUMENT_ROOT']) . Это позволяет мне получить хороший и логичный базовый путь для всех моих включений.