0

我被困在一个简单的事情中,即在 php 中加载图像。所有包含的 php 文件都在一个名为 include 的目录中。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

4 回答 4

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-->
于 2013-09-18T12:05:47.650 回答
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.

于 2013-09-18T12:55:43.433 回答
0

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

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

<?php
echo '<img src="img/do.png" width="120"  alt="Rifrazione news"/>';
?>

无论如何,谢谢你的加入。

于 2013-09-19T11:23:11.647 回答
0

HTML5 中,您可以将 声明<base>为 DOM 元素

于 2013-09-18T12:07:15.567 回答