2014-01-09 2 views
0

У меня есть небольшая проблема с включением файлов. У меня две страницы, где я использую точно такие же начальные 10 строк.Include не работает в индексном файле

<html> 
    <head> 
    <?php include "../~13097377/include/head.html"; ?> 
    </head> 
    <body id="body" > 
    <div style="background-color: #E0ECF8; min-height: 100%;"> 
    <div style="position:fixed; background-color: #E0ECF8;"> 
    <?php include "../~13097377/include/slideshow.html"; ?> 
    <?php include "../~13097377/include/menu.html"; ?> 
    <div style="padding: 0px 20px 0px 20px;"> 

http://eduweb.hhs.nl/~13097377/index.php
http://eduweb.hhs.nl/~13097377/contact/contact.php

Контактная страница реагирует нормально, но индекс страница дает много ошибок, как «не удалось не удалось открыть поток: Нет такого файла или каталога в/вар/WWW»

Кто-нибудь знает, как это исправить?

ответ

1

Вы используете относительный путь, ../etc... в вашем include, что означает, что проверяемый путь ОТНОСИТЕЛЬНО к местоположению скрипта, из которого вы запускаете директиву include.

Это означает, что предполагается, что ваш корень документа является /var/www/site/html

/var/www/site/html/index.php   -> /var/www/site/~13097377/include/head.html 
/var/www/site/html/contact/contact.php -> /var/www/site/html/~13097377/include/head.html 

Если у вас есть ~13097377 каталог в ОБА вашей doc_root и doc_root/контактных каталогов, поэтому вы получите ваши ошибки. Вы говорите, что PHP ищет ваш файл в месте, которого не существует.

+0

Оке, я понимаю. Но почему он работает на странице контактов, но не по индексу? – Maarten

0

Изменить все экземпляры ?php include на <?php include.

Весь код PHP должен находиться между <?php и ?> закрытие тегов.

После исправления ошибок синтаксиса проверьте свои включенные пути. Они, вероятно, относительны, но могут не зависеть от конфигурации веб-сервера и PHP.

1

Относительные пути не будут работать, когда ваши файлы находятся на разных уровнях каталогов. Вы можете использовать абсолютный путь относительно корня веб-сервера:

<?php include $_SERVER['DOCUMENT_ROOT'] . "/~13097377/include/slideshow.html"; ?> 
<?php include $_SERVER['DOCUMENT_ROOT'] . "/~13097377/include/menu.html"; ?> 
Смежные вопросы