这可能有一个简单的答案,但到目前为止我没有找到运气。
我有两个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>
编辑:我的所有文件,包括图标图片,现在都在同一个地方:
很惊讶,我的图像链接仍然存在。
答案 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
,这很好