我有一个PHP脚本(index.PHP),它在子目录(site1.com)中包含一个index.html文件。这个index.html文件显示位于同一目录(site1.com)中的图像。
现在,index.php文件包括index.html文件。显示了index.html中的html,但没有显示图像。index.html文件正在ROOT目录中查找要显示的图像。这就是问题所在。我想以某种方式包含site1.com目录的所有内容,而不仅仅是单个"index.html"文件。
我试过更改工作目录,但没有成功。也许我只是没有正确使用它。。。
出于我不想解释的原因,我不想在PHP或Apache中编辑任何配置设置。我也不想修改index.html的代码。基本上,我需要找到一个可以100%用PHP实现的解决方案。当实际显示子目录(site1.com)中的内容时,url需要显示为用户仍在根目录(mysite.com)中。在某种程度上,这有点像一个透明的代理。
[FILE] index.php
[DIR] site1.com
[FILE] index.html
[FILE] img1.png
[FILE] img2.png
[DIR] site2.com
[FILE] index.html
[FILE] img1.png
[FILE] img2.png
我已经做了大量的搜索,但还没有找到一个有效的解决方案。
include()/require()文件时,就好像该文件的内容被剪切/粘贴到执行include的脚本中一样。如果index.html使用site1.com目录中的图像,则必须使用基于index.php位置的路径来引用这些图像
远程用户无法判断你是否包含了网站子目录中的文件——他们只会看到一些来自服务器的html,所以如果你的index.html有类似的东西
<img src="img1.png" />
在中,但是html是从index.php脚本中显示的,那么浏览器将查找
http://example.com/img1.png
不是
http://example.com/site1.com/img1.png
输出正确的路径取决于您。