如何从子域访问主域上的图像

时间:2014-05-18 11:39:58

标签: php html

我有一个主域,用户可以上传图像,然后在滑块中查看图像,因此页面在加载时会加载多个图像(有时最多50个)。我试图在子域上访问相同的图像,但它不能很好地工作。

如果我使用

<img src="<? echo 'http://www.mysite.co.uk/'.$row['imageLocation']; ?>">

图像加载但速度很慢

如果我使用

<img src="<? echo '/home/myname/public_html/mysite.co.uk/'.$row['imageLocation']; ?>">

尽管路径正确,但不会显示图像。如果我使用相同的路径来获取图像大小(getimagesize),它会返回正确的结果,所以我确定路径是正确的。

2 个答案:

答案 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']); ?>" />