Как использовать изображения и PHP включает в себя несколько каталогов? - PullRequest
2 голосов
/ 04 февраля 2012

Я новичок в PHP.Я хочу использовать его для включения универсального колонтитула в сайт html / jquery.В настоящее время я использую include для этого:

<?php include('../includes/footer.php'); ?>

Это отлично работает.Где я сталкиваюсь с проблемой - с любыми изображениями в верхнем или нижнем колонтитуле.

Объяснение моей файловой структуры:
Корневая папка: содержит index.php и папки "includes", "img", "php" и т. Д.
Папка php: содержит gallery.php
включает в себя папку: содержит header.php, footer.php

При просмотре index.php все изображения в верхнем и нижнем колонтитуле отображаются правильно, но, поскольку они связаны относительно (например, "img/facebook.png"),не показывать в gallery.php.Для работы им понадобится ../ в комплекте.Но тогда это победило бы цель универсального заголовка.

Таким образом, я пытаюсь выяснить, как связать изображения во включаемых файлах таким образом, что не имеет значения, где находится файл php.Я прочитал эту ветку (что звучит как моя проблема), но я не понимаю ни одного из ответов.Я также прочитал вещи, которые предлагают $_SERVER['DOCUMENT_ROOT'] .'/folder/';, в сочетании с эхом для отображения изображения.Я попробовал это в своем footer.php с этим кодом:

<?php
$path = $_SERVER['DOCUMENT_ROOT'] . '/img/';
$image = ($path . "facebook.png");
echo "<img src=\"$image\" />"; ?>

Когда я просматриваю страницу, я получаю небольшой рваный значок бумаги вместо своего изображения.Я предполагаю, что это означает, что путь неверен, но я не знаю почему.facebook.png находится в папке img.Эта проблема возникает на index.php и gallery.php.

После этого довольно длинного объяснения (извините) у меня есть следующие вопросы:
1) Как мне правильно отобразить изображения в моих включениях в нескольких каталогах?
2) Если яПравильно ли это делать с помощью echo, каковы возможные причины, почему он не работает?

Еще раз, я ничего не знаю о php, так что, если бы вы могли сделать свои ответы как можно более простыми, это будет высоко ценится.

Спасибо!

1 Ответ

2 голосов
/ 04 февраля 2012

Вместо img/facebook.png добавьте / перед img/ следующим образом: /img/facebook.png

Здесь написано «перейдите в корень и найдите там папку img. Тогда все ваши изображения должны работать нормально. Путь к изображениям является абсолютным или относительным в зависимости от просматриваемой HTML-страницы, а не от того, какая файлы, которые вы используете для его создания.

Хотя для папки "php" нет особой причины - просто держите все свои страницы в корневом каталоге.

...