【发布时间】: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;'在我的 正确吗?