【问题标题】:imagejpeg is returning nothingimagejpeg 什么也没返回
【发布时间】:2014-03-07 21:01:24
【问题描述】:

我对 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 类型,但是当我输出对象时,它会显示像这样不存在的图像 - http://s18.postimg.org/dk4f2ji95/Untitled.png

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

【问题讨论】:

    标签: php image object jpeg


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多