2015-12-02 1 views
1

Позвольте мне объяснить причину моей проблемы.Как я могу указать свой PHP Include для исходных изображений из моего корня?

Мой заголовок хранится в header.php, я использую <?php include('/header.php');?>, чтобы захватить его. Это отлично работает на всех веб-страницах в моем корне.

Но у меня есть папка под названием Catalog в моем корневом каталоге с большим количеством веб-страниц, поэтому я меняю ее на <?php include('../header.php'); ?>, которая снова отлично работает.

Однако, у меня есть несколько изображений в моем header.php. Изображения не отображаются на веб-страницах в моей папке каталога, потому что я их подбираю из папки с изображениями в моем корне. <img src="images/cosworth2.jpg">

Я не могу использовать <img src="../images/cosworth2.jpg", потому что это повлияет на изображения, которые отлично работают на веб-страницах которые не находятся в моей папке каталога.

Имеет ли это смысл?

Мне нужно сообщить свой header.php, чтобы передать все мои изображения из корня, даже если мои веб-страницы находятся в других каталогах.

header.php

<div id="top"><center><img src="images/header.png" style="max-width:100%;"></center></div> 
<header id="header" class="site-header" role="banner"> 
<div id="header-inner" class="container sixteen columns over"> 
<hgroup class="one-third column alpha"> 

</hgroup> 
    <nav id="main-nav" class="two thirds column omega"> 
     <ul> 
      <li> 
       <a href="index.php">Home</a> 
      </li> 
      <li> 
       <a href="about-us.php">About Us</a> 
      </li> 
      <li> 
       <a href="news.php">News</a> 
      </li> 
      <li> 
       <a href="dealers.php">Dealers</a> 
      </li> 
      <li> 
       <a href="products.php">Products</a> 
      </li> 
      <li> 
       <a href="http://www.cosworth-europe.co.uk/shop">Buy Online</a> 
      </li> 
      <li> 
       <a href="contactus.php">Contact</a> 
      </li> 
     </ul> 
    </nav> 

</div> 

<div class="container"><img src="images/cosworth2.jpg" style="max-width:100%; height:auto; float:left; margin-right:20px; margin-top:20px;"> 
<p style="padding-top:25px;">Welcome to <strong>Cosworth Europe</strong>. This website is specifically for Cosworth Aftermarket & Performance Products. For any other enquires please visit Cosworth.com. For more information, feel free to visit the About Us page.</p></div> 
</header> 
+1

Изменение пути к изображениям на ваших веб-страницах для использования одного и того же ресурса. Дублирование здесь не требуется. –

+0

Вы можете использовать 'include (" ../ header.php ")' для доступа из подпапки. '../' просто переводит include в родительский каталог, поэтому вы можете использовать их для получения «вверх» – Lino

+0

Но большинство моих веб-страниц находятся в корне, поэтому использование ../ будет испортить изображения на моем Главная страница. –

ответ

3

Используйте абсолютный путь.

<img src="/images/..." alt="..."> 

Опишите расположение ваших изображений (и таблиц стилей и т. Д.) Относительно корня веб-сайта.

+0

Спасибо @Quentin, абсолютный путь использует URL-адрес? верный? > '

+0

@ s.poole - вы можете использовать абсолютный URL-адрес, если хотите, но это делает его неудобным для работы с dev/staging/живая среда. Абсолютный путь - это относительный URL-адрес, который включает в себя только части пути (и, необязательно, запрос и фрагмент) ... но путь * whole *, начинающийся с '/' ... как пример, который я поставил в ответе в первую очередь. – Quentin

+0

Я повторно объяснил свою проблему. Не думаю, что я правильно объяснил. –

0

Чтобы добавить к другим ответам, вы можете define() константу PHP для установки абсолютного пути. Это поможет, если вам когда-либо пришлось изменить каталог/путь.

//perhaps add this in a config file or at the top of the header.php file 
define('IMAGE_PATH', '/images'); 

//use in any other file 
<img src="<?php echo IMAGE_PATH; ?>/image1.png" /> 
+0

Я снова объяснил свою проблему. Не думаю, что я правильно объяснил. –

Смежные вопросы