从包含的php加载图像不在服务器的根目录中

时间:2013-09-18 12:00:31

标签: php image url load

我陷入了一个简单的事情,就是在php中加载图像。 所有包含的php文件都在一个名为includes的目录中。 Index.php在根文件夹中。 当我从位于根文件夹中的php文件调用img src时,我可以看到图像。 但是当我包含一个应该加载图像的部分时:

<?php include("includes/section.php"); ?>

称之为:

<div class = "right">
<h1> news </h1>
<hr>
echo '<img src="../img/do.png" width="200"  alt="Rifrazione news/>';
<p class = "rightp">Blabla </p><br
</div><!--end of right-->

我什么都没得到

4 个答案:

答案 0 :(得分:2)

对于我预先使用全局变量的图像。

尝试做类似的事情:

<?
$baseUrl = "http://localhost";   // CHANGE IT TO YOUR URL
?>    
<div class = "right">
<h1> news </h1>
<hr>
<? 
echo '<img src="'.$baseUrl.'/img/do.png" width="200"  alt="Rifrazione news" />'; 
?>
<p class = "rightp">Blabla </p><br />
</div><!--end of right-->

答案 1 :(得分:1)

您当前所在的文件是您当前的工作目录。因此,请从index.php所在的目录中找到图像的位置,这意味着可能会删除../。如果您有任何疑问echo getcwd();

从不做亚当建议的事情。您应该始终使用文件系统路径,而不是url路径到本地文件。 编辑 推理:热链接是其中的一部分,因为他可能不知道为什么某些东西不起作用,因为它在其他位置工作但主要是由于路由/ .htaccess / url重写。如果他后来继续使用MVC或类似的框架,那么localhost / controller / action将不会返回他的形象,但他可能不确定为什么这是一个他已经习惯的坏习惯。另一个原因是易于使用,如果他提出像./image/here.jpg这样的路径反对localhost * / here.jpg他可能必须通过并重写每个链接,如果他稍后迁移到外部服务器。

帮助更好地可视化的示例: 如果您有以下目录:

my_site/
    js/
    css/
    images/
        image.jpg
    index.php
    bob/
        bob.php
        contactBob.php

如果您正在查看index.php,则您的图片链接将为/images/image.jpg。 如果您正在查看contactBob.php,您的图片链接将为../images/image.jpg

答案 2 :(得分:0)

答案 3 :(得分:0)

经过搜索和测试......没有那个。 唯一缺少的是括号开头的php标签。

根本不需要变量。 此语法按预期工作。

<?php
echo '<img src="img/do.png" width="120"  alt="Rifrazione news"/>';
?>
无论如何,谢谢你跳进来。