包含时图像坏了

时间:2014-07-10 20:30:47

标签: html

这可能有一个简单的答案,但到目前为止我没有找到运气。

我有两个php页面,index.php和headerBake.php。 headerBake.php包含在index.php中,除了两个小图像(一个推特图标和脸谱图标)被破坏外,一切看起来都应该如此。图像在headerBake.php中被引用和链接,图标的文件路径是正确的。

我的问题是:

我是否必须将图标包含在单独的包含中才能让它们显示出来?或者还有其他我想念的东西?

我的问题是否与global paths有关?

我的代码 -

headerBake.php:

<link href="bakery.css" rel="stylesheet" type="text/css" />
    <header class="header" role="banner">
      <div id="innerHeader">
        <div id="logo"><a href="index.html">Auntie Jane's Bakery and Catering</a></div>
        <div id="socialPhone">
          <div id="socialIcons">
            <a href="http://facebook.com">
              <img src="LogoSocial/social_facebook_box_blue.png" width="24px" /></a>
            <a href="http://twitter.com">
              <img src="LogoSocial/Twitter-Icon.png" width="27px" />
            </a>
          </div>
          <div class="clear-div"></div>
          <div id="bakeryNumber">Order online or Call: #860-538-8900</div>
          <div class="clear-div"></div>
        </div>
        <div class="clear-div"></div>
      </div>
      <ul id="navBar">
        <li><a href="aboutUs.html">About Us</a></li>
        <li><a href="Menu.html">Menu</a>
          <ul>
            <li><a href="weddingcakes">Wedding Cakes</a></li>
            <li><a href="celebrationcakes">Celebration Cakes</a></li>
            <li><a href="cupcakes">Cupcakes</a></li>
            <li><a href="cookies">Cookies</a></li>
            <li><a href="brownies">Brownies</a></li>
          </ul>
        </li>
        <li><a href="catering.html">Catering</a></li>
        <li><a href="contact.html">Contact Us</a></li>
      </ul>
    </header>

的index.php

<body>
      <div id="wrapper">
        <div id="indexContent">
          <div class="slideshow"></div>
          <div class="clear-div"></div>
          <div class="newscolumn"></div>
          <div class="clear-div"></div>
        </div>
      </div>

    <footer>
      <div id="sitemap">
        <div id="menu">
          <p><h4>SiteMap:</h4>
          <br />
          Menu:<br />
          Wedding Cakes | Celebration Cakes<br />
          Cupcakes | Cookies | Brownies<br />
          About Us | Catering | Contact Us
          </p>
        </div>
        <div id="address">
          <p>We are located at:<br />
            123 Parker Lane<br />
            Hartford, CT 06103 
          </p>
        </div>
        <div class="clear-div"></div>
      </div>
    </footer>
</body>
    </html>

编辑:我的所有文件,包括图标图片,现在都在同一个地方:

http://imgur.com/uKvdVpo

很惊讶,我的图像链接仍然存在。

4 个答案:

答案 0 :(得分:0)

假设您的图片位于(mywebsite)/ LogoSocial /(Icon).png,请尝试将图片链接更改为:

<img src="/LogoSocial/<icon>.png" ... >

领先的斜杠说“开始在您网站的根级别查找此对象”。

答案 1 :(得分:0)

它与您的PHP代码无关。这完全取决于绝对和相对路径。

如果您的路径以前导斜杠/开头,则浏览器将尝试从根目录中获取资源。 如果它没有以斜线开头,则链接将被视为相对路径。

例如,假设您的index.php位于http://domain.com/blah/index.php

  • 链接LogoSocial/social_facebook_box_blue.png是一个 您当前资源(http://domain.com/blah/index.php)的相对路径将导致:

    http://domain.com/blah/LogoSocial/social_facebook_box_blue.png

  • 另一方面,绝对路径 /LogoSocial/social_facebook_box_blue.png(注意领先的斜线) 将导致:

    http://domain.com/LogoSocial/social_facebook_box_blue.png

    此案例的根目录为http://domain.com/

答案 2 :(得分:0)

我猜你正在尝试相对于headerBake.php文件的位置加载图片。

当您使用PHP包含文件时,想象一下将文件中的代码复制并粘贴到index.php中。

PHP是服务器端语言,在这种情况下,负责生成HTML响应。一旦响应生成并返回到浏览器,浏览器就不知道使用了哪些PHP文件,以及它们的位置。

您的图片需要浏览器访问,例如http://example.com/img/something.png。正如其他人所推荐的那样,我会使用绝对路径而不是相对路径。

答案 3 :(得分:0)

修复了格式错误的代码,并验证了对图片的直接访问权限,并在浏览器中显示403错误响应...

http://localhost/Bakery/logodesign1.png

你得到Error 403(禁止) 所以问题必须依赖于服务器......

在终端中尝试以下操作来更改权限:(正如我在屏幕截图中看到的那样,您在OS&amp; XAMPP中)

cd /Applications/XAMPP/xamppfiles/htdocs/Bakery
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

现在再试一次:

 http://localhost/Bakery/logodesign1.png

现在必须获得Error 200,这很好