PHP-файл не распознает включает

0

Итак, у меня есть (по-видимому) простая проблема, чтобы исправить то, что в настоящее время торжествует над мной.

Мой макет начинается с основного файла регистрации в основном каталоге:

registration.php

<?php

// Include connection to database
require "config/db.php";

// Include website language class
require "classes/website_language.php";

// Include registration class
require "classes/registration.php";

// Include the page
include "views/registration.php";

Моя проблема в том, что classes/registration.php НЕ включает config/db.php или classes/website_language.php, хотя я включаю эти файлы ДО классов /registration.php в файл MAIN.

Так как config/db.php и classes/website_language.php включены в основной файл регистрации перед classes/registration.php, не должны ли классы /registration.php извлекать данные из этих двух включенных файлов?

Я исправил это, включив config/db.php и classes/website_language.php в самом файле classes/registration.php, но я предпочел бы, если это возможно, включить эти файлы в файл MAIN.

  • 0
    проверьте, что registration.php имеет какую-либо ошибку.
  • 0
    Пожалуйста, не забудьте отметить правильный ответ (и дать свой отзыв), чтобы помочь другим людям, которые (или будут) представлены с той же проблемой
Теги:
directory
include
require

2 ответа

0

Я думаю, что ваша проблема в том, что вы не считаете, что "включает/требует" относится к файлу, делающему включение.

Давайте сделаем пример

СТРУКТУРА ПАКЕТОВ

root/index.php
root/folder1/file1.php
root/folder1/file2.php

ПРОБЛЕМА

index.php

include "folder1/file1.php";

file1.php

include "file2.php";

"Include" file2.php ";" будет выполняться index.php, поэтому index.php будет искать файл с именем file2.php в той же папке (в этом случае root). Конечно, index.php не найдет такой файл.

РЕШЕНИЕ

index.php

include "folder1/file1.php";

file1.php

include dirname(__FILE__) . "/file2.php";

Таким образом, решение должно работать с абсолютными путями - и вы можете смешать родственников и абсолютные пути с помощью dirname (FILE), чтобы получить каталог, содержащий файл.

0

попробуй это:

require("config/db.php");
require("classes/website_language.php");
require("views/registration.php");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню