【问题标题】:Trouble calling images with a php instance无法使用 php 实例调用图像
【发布时间】:2014-01-02 09:47:21
【问题描述】:

我目前正在使用一些非常基本的 php 构建一个画廊 - 即包含:

<?php include("page.php"); ?>

但我在调用图像时遇到了问题。

为了解释这种情况,我正在为我想要显示的每件艺术品构建一个 php 页面,而不是在根文件夹中构建 30 多个附加页面,我创建了一个子文件夹(在本例中为“/art/” ) 所有艺术作品页面都将存在的地方。链接到它们很容易,但是当我查看我正在调用的页面项目时,例如 header.php 或 footer.php 不会出现。 示例:

<?php include("header.php"); ?>

现在,只需添加“../”即可解决此问题,并导入我需要的页眉、页脚和其他 php 项目。

<?php include("../header.php"); ?>

不幸的是,图像不是 - 我得到的只是默认的丢失/损坏的图像图标。当然,如果我进入 headr.php 页面并将“../”添加到我正在调用的每个图像中,那么它在 /art/ 文件夹中的 php 文件中效果很好,但是当我得到完全相同的损坏图标时我去根目录下的任何页面,比如index.php。

我的结论是,虽然添加 ../ 确实指向 /art/ 文件夹内的页面以查看上一个目录,但它仍在尝试从 /art/ 文件夹中的图像文件夹中查找图像,而不是根文件夹中的 /images/ 文件夹。我可以轻松地复制 images 文件夹的内容并将其放在 /art/ 文件夹中,但这似乎是多余的。

是否有更好的首选解决方案来告诉 php 包含在哪里查找图像?还是最好将所有 php 页面放在同一个根文件夹中?

【问题讨论】:

  • 您只是使用每个包含渲染不同的图像吗?使用例如每个图像的 html 标记不是更容易和更简单吗?您可以将每个图像定义为 ,因此无论您从哪里渲染它,它都会始终将图像链接为 example.com/path/to/image.png
  • 你能从完整的 url 访问目录吗?当然你可以把它放进去,所以 $imgfolder = example.com/images
  • 您在 HTML 中的文件引用应该是绝对的,即以 / 开头;这样,它们被引用的路径无关紧要。
  • 如果我理解正确,您建议我可以将 header.php 页面中的图像路径设置为读取 'example.com/images/image.jpg' 而不是简单的 'images.image .jpg' 或添加 '$imgfolder = example.com/images;'在我的 正确吗?

标签: php html css image


【解决方案1】:

哦,我以前有过这个:),

这是一个问题,因为当您导入文件时 php 刚刚过去 新文件中的文件内容,因此相对路径为 然后从那里制作。

TL;DR 使用 dirname(FILE).'/'.(..) 作为您的路径。

希望你明白我的意思。

【讨论】:

  • 您给出的描述非常有道理,但您能否详细说明(讽刺地)TL;DR 部分?我没有完全关注
  • 谢谢,在您的回复和 Jack(上图)的评论之间,我想我明白了问题所在以及您的意思。
猜你喜欢
  • 1970-01-01
  • 2015-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-16
  • 2018-02-18
  • 2012-11-02
相关资源
最近更新 更多