如何在PHP中加载图像

时间:2010-08-06 21:06:20

标签: php

我想要将图像加载到PHP服务器然后将其发送到浏览器。

例如,我希望sample.php在请求后将图像发送到浏览器。 换句话说,我想创建一个像文件代理一样的PHP文件。

2 个答案:

答案 0 :(得分:1)

你为什么要这样做? 为什么不直接提供图像? 如果您尝试显示随机图像,您也可以使用

重定向到图像
header("Location: address-of-image");

用于从服务器向客户端传送文件,而不是从原始位置传送文件。但是你的php.ini设置需要允许外部文件打开

readfile("http://www.example.com/image.jpg")
如果要在img标记中显示图像,则不需要

正确的标题, 我会推荐它。你应该检查图像的文件类型,或者在大多数情况下只设置一个八位字节流标题,这样浏览器就不会假设文本或其他类型的错误类型,并尝试显示二进制数据。 这样做只是做

header("Content-type: application/octet-stream")

要考虑的另一件事可能是为缓存设置正确的标头...

答案 1 :(得分:0)

您需要使用

$image = fopen("image.png");  
Modify the headers(not sure exacly if it's correct)
headers("Content-type: image/png");  
And then send the image  
echo fread($image, file_size("image.png"));