如何返回图像

时间:2011-05-19 12:11:40

标签: php image mime-types show

我想用php脚本显示图像。这是我目前的代码:

<?php
if (isset ($_GET['id'])) $id = $_GET['id'];
$t=getimagesize ($id) or die('Unknown type of image');

switch ($t[2])
{
    case 1:
    $type='GIF';
    $img=imagecreatefromgif($path);
    break;
    case 2:
    $type='JPEG';
    $img=imagecreatefromjpeg($path);
    break;
    case 3:
    $type='PNG';
    $img=imagecreatefrompng($path);
    break;
}

header("Content-type: image/".$type);
echo $img;
?>

但它没有显示图像。什么是正确的方式,而不是echo $img

4 个答案:

答案 0 :(得分:3)

就像这样:

public function getImage()
{

    $imagePath ="img/wall_1.jpg";

    $image = file_get_contents(imagePath );
            header('content-type: image/gif');
            echo $image;

}

答案 1 :(得分:2)

每种格式都有功能。

在您的情况下,您可以添加:

switch ($t[2])
{
    case 1:
    imagegif($img);
    break;
    case 2:
    imagejpeg($img);
    break;
    case 3:
    imagepng($img);
    break;
}

答案 2 :(得分:1)

header("Content-type: image/jpeg");
imagejpeg($img);

答案 3 :(得分:0)

之前我已经使用过echo()这样做了。但请尝试使用imagejpeg()函数。

此外,请确保在脚本中的图像之前或之后没有输出任何其他内容。常见问题是在<?php?>标记之前或之后由空格和换行引起的空格和换行输出。你需要删除所有这些。并检查通过include()requre()加载的任何其他PHP代码的相同内容。