PHP включить из другой папки

На данный момент у меня есть эта структура папок

-Member

-Templates

and other folders

когда я использую в Member / index.php ничего не появляется на странице.

include("templates/header.php"); ?>

когда я пробую другие сокращения, такие как

<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/templates/header.php";include_once($path);?>

или же

include 'templates/header.php';

Ничего не происходит, а.

Как вы используете php включить в этой ситуации?

0

Решение

Как и в вашем коде, вы имеете в виду файл, который не существует.

-Member

-Templates

and other folders

в Member / index.php, когда вы включаете такой файл;

include("templates/header.php");

Вы на самом деле ссылаетесь на файл внутри Member папка. Вместо этого вы должны использовать переменную $ _SERVER, или вы должны обратиться к include("/Templates/header.php");

Но лучше всего использовать переменную $ _SERVER;


Вы указали имя каталога в простом регистре в своем операторе включения. Также, как примечание, не добавляйте путь к каталогу напрямую $path = $_SERVER['DOCUMENT_ROOT']; переменная. Вместо этого введите путь в вашем операторе включения.

Подобно :

$root = $_SERVER['DOCUMENT_ROOT'];
include $root.'/Templates/header.php';

Таким образом, вам не нужно переопределять глобальную переменную $ _SERVER везде.

Также попрактикуйтесь в отладке! Просто не бегите к SO за все, если вы действительно хотите учиться. Узнайте, почему «ничего не загружается».

Напечатайте $ path и посмотрите, является ли путь правильным. и проверьте журналы ошибок, что они говорят. Если бы вы сделали это, вы наверняка исправили бы это сами!

Надеюсь, что это имеет смысл 🙂

0

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

Если имя вашей папки с большой буквы, попробуйте это:

include_once $_SERVER['DOCUMENT_ROOT'].'/Templates/header.php';

Вы также можете попробовать это без /:

include_once $_SERVER['DOCUMENT_ROOT'].'Templates/header.php';

Если ваши папки без прописных букв, оставьте это так: templates
Конечно, вы можете сделать $_SERVER['DOCUMENT_ROOT'] переменная, поэтому вам не нужно повторно объявлять ее все время

Замечания: Это то, что говорит @Mahan

0

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