我有一个主域,用户可以上传图像,然后在滑块中查看图像,因此页面在加载时会加载多个图像(有时最多50个)。我试图在子域上访问相同的图像,但它不能很好地工作。
如果我使用
<img src="<? echo 'http://www.mysite.co.uk/'.$row['imageLocation']; ?>">
图像加载但速度很慢
如果我使用
<img src="<? echo '/home/myname/public_html/mysite.co.uk/'.$row['imageLocation']; ?>">
尽管路径正确,但不会显示图像。如果我使用相同的路径来获取图像大小(getimagesize
),它会返回正确的结果,所以我确定路径是正确的。
答案 0 :(得分:1)
图像未显示,因为您首先向用户回显路径,而不是文件本身,然后用户浏览器异步加载它们。他无法从mysite.co.uk
仅子目录访问任何父目录。
PHP可以加载它们,因为它在返回任何内容之前在服务器上运行。
你可以做的是在PHP readfile()
这样的额外PHP文件中使用PHP中的getimages.php
函数,或者只使用第一个解决方案,除了你将改变图像大小之外,它不能提高速度,这可能是你的主要问题。
答案 1 :(得分:0)
如果要直接回显图像文件内容,请使用此功能。
<img src="data:image/jpeg;base64,<?php echo base64_encode('/home/myname/public_html/mysite.co.uk/'.$row['imageLocation']); ?>" />