我被困在一个简单的事情上,比如在php中加载图像。所有包含的 php 文件都在一个名为 include 的目录中。索引.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-->
我一无所获
对于我预设的图像使用全局变量。
尝试执行以下操作:
<?
$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-->
您当前所在的文件是您当前的工作目录。因此,从索引所在的目录中找到图像的位置.php这意味着可能会删除../
。如果您有任何疑问echo getcwd();
.
永远不要按照亚当的建议去做。应始终使用文件系统路径,切勿使用本地文件的 url 路径。编辑推理:热链接是其中的一部分,因为他可能不知道为什么某些东西不起作用,因为它在其他位置工作,但主要是由于路由/.htaccess/url重写。如果他稍后转向MVC或类似的框架,放置本地主机/控制器/操作将不会返回他的图像,但他可能不确定为什么,因为这是一个他已经养成的坏习惯。另一个原因是为了便于使用,如果他放置一个像 ./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
。如果您正在查看联系人Bob.php则指向图像的链接将../images/image.jpg
。
在HTML5中,您可以将<base>
声明为DOM元素。
经过搜索和测试...都不是这些。唯一缺少的是括号开头的 php 标签。
你根本不需要变量。此语法按预期工作。
<?php
echo '<img src="img/do.png" width="120" alt="Rifrazione news"/>';
?>
无论如何,感谢您的加入。