Возникли проблемы с включениями и относительными путями

Я создаю очень маленькую страницу, которая будет жить в течение 5-дневной конференции. Каждый день сайт должен загружать новый контент, поэтому я использую небольшой скрипт для загрузки во включаемый файл. Я пытаюсь сделать мои включения относительными путями, но что-то не работает правильно. Ниже приведен текущий код, с которым я работаю, который использует массив (24 для сегодняшней даты, поэтому я могу проверить, работает ли ti) для дат, которые отображаются в файл, и часть содержимого по умолчанию, если условие не возвращается с результатом.

        <?php

$path = $_SERVER['HTTP_HOST'];

$date = date("j");
$event_dates = array(24,15,16,17,18,19);

if (in_array($date, $event_dates)) {
$path .= "/_includes/date-".$date.".php";
include($path);
}
else {
$path .= "/_includes/default.php";
include($path);
}

?>

Если я включу «_include / default.php», все работает нормально, и на данный момент, возможно, это должно быть решением, но я бы хотел все же выяснить проблему относительного пути на случай, если я столкнусь с этой же проблемой на Поздняя дата. Кроме того, если я изменю включение на эхо, то получу ожидаемый результат.

-1

Решение

Так как вы используете .=, "/_includes/..." строка соединяется с $path, Тогда оно будет иметь вид localhost/_includes/..., Это не содержит схему (HTTP (S)), так что это будет работать, только если у вас есть папка localhost в этом каталоге.

Если вы хотите текущий каталог, вы можете использовать dirname(__FILE__) вместо. Вы также можете использовать ./_includes/... как путь, если _includes подкаталог текущего каталога и т. д.

1

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

Других решений пока нет …

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