Проблема с URL-адресом на сервере WAMP

У меня, вероятно, путаница с относительными и абсолютными путями...

Скажем, у меня есть файл, который может быть где угодно в моем каталоге. Я хочу использовать PHP include для включения файла footer.php. Этот файл нижнего колонтитула всегда находится в моем корневом каталоге/шаблоне.

Итак, я набираю следующее <?php include('./template/footer.php'); ?>

Но увы, WAMP не может его найти! Что я здесь делаю неправильно?

Я тоже пробовал <?php include('../template/footer.php'); ?>, тоже не помогает.


person stockoverflow    schedule 07.04.2011    source источник


Ответы (2)


Если вы имели в виду, что «root» относится к корневому каталогу вашего текущего веб-сайта Apache, вам следует использовать:

<?php include($_SERVER['DOCUMENT_ROOT'].'/template/folder.php'); ?>

обратите внимание (для всех, кто читает), что DOCUMENT_ROOT не заполняется (по крайней мере, в более старых версиях) IIS. Но вы должны быть в порядке, так как вы используете Apache.


Если бы вы вместо этого ссылались на «root» как на корень файловой системы, тогда root/template был бы:

<?php include('/template/folder.php'); ?>
  • префикс фрагмента пути ./ указывает на ваш текущий каталог (относительно любого файла, который сейчас обрабатывается) (относительный путь).

  • префикс фрагмента пути ../ указывает на родительский каталог (относительно любого файла, который сейчас обрабатывается) (относительный путь).

  • префикс фрагмента пути / указывает на корневой каталог файловой системы (абсолютный путь).

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

person taswyn    schedule 05.10.2012

я бы посоветовал попробовать только <?php include('template/footer.php'); ?> the../` используется для доступа к внешней стороне папки

person Community    schedule 08.01.2012