返回要在浏览器中显示的图像

时间:2012-03-16 11:00:47

标签: php image

我编写了一个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';
?>

3 个答案:

答案 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;?>