Моя структура каталогов выглядит так:
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";
Если вы обнаружите, что относительные включенные пути не работают должным образом, быстрое исправление заключается в том, чтобы добавить __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'])
. Это позволяет мне получить хороший и логичный базовый путь для всех моих включений.