我编写了一个PHP脚本来返回图像,但浏览器无法显示返回的图像。你们能告诉我出了什么问题吗?
<?php
$file='demo.gif';
if(file_exists($file)){
header('Content-Type:image/jpeg');
header('Content-Transfer-Encoding: base64');
$data=base64_encode(get_file_contents($file));
header('Content-Length: ' . strlen($data));
echo $data;
}
else
echo 'No such file';
?>
答案 0 :(得分:3)
除非你有充分的理由,否则不要对图像数据进行base64编码。改为输出原始数据。
同样get_file_contents
应该是file_get_contents()
。删除header()
命令并激活error reporting以查看任何此类错误。
答案 1 :(得分:3)
嗯,您告诉浏览器.gif
文件是JPEG。
您还错误地file_get_contents
。
答案 2 :(得分:2)
我已经修改了你的建议。谢谢大家! :) 这是修改后的代码。
<?php
header('Content-Type: image/gif');
$image= file_get_contents('http://localhost/no_img.gif');
echo $image;?>