Проблема с URL-адресом на сервере WAMP - PullRequest
0 голосов
/ 07 апреля 2011

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

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

Поэтому я набираю следующее <?php include('./template/footer.php'); ?>

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

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

Ответы [ 2 ]

1 голос
/ 06 октября 2012

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

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

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


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

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

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

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

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

0 голосов
/ 09 января 2012

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

...