imagejpeg什么也没回来

时间:2014-02-10 13:38:10

标签: php image object jpeg

我对imagejpeg有一个非常奇怪的问题。看看我的代码:

class ImageShow extends PageTemplate{
    public static function Grayscale(){
        $object = Image::CreateObject($_COOKIE["image"]);
        header("Content-Type: image/jpeg");
        imagejpeg($object);
        imagedestroy($object);
        die();
    }
}

所以这是我调用的函数,这是Image :: CreateObject:

public static function CreateObject($url){
    $url = "temp/".$url;
    $imgInfo = getimagesize($url);
    switch($imgInfo['mime']){
        case 'image/jpeg':
            $object = imagecreatefromjpeg($url);
            //print 'jpeg';
            break;
        case 'image/png':
            $object = imagecreatefrompng($url);
            //print 'png';
            break;
        case 'image/gif':
            $object = imagecreatefromgif($url);
            //print 'gif';
            break;
        default:
            return FALSE;
            break;

    }
    return $object;
}

所以我得到了mime-type,但是当我输出对象时,它会显示像这样的非现有图像 - http://s18.postimg.org/dk4f2ji95/Untitled.png

我认为图片对象没问题,因为当我输出没有内容类型标题时,我会得到很多奇怪的符号:)

1 个答案:

答案 0 :(得分:0)

今天我了解到如果你在创建图像之前的某个地方有ob_start(),你应该在标题之前清理它......

ob_clean();
header("Content-Type: image/jpeg");
imagejpeg($object);
imagedestroy($object);