2014-02-10 124 views
0

我對imagejpeg有非常奇怪的問題。看看我的代碼:imagejpeg沒有任何返回

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

所以這是我所說的功能,這是圖片::創建對象:

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

我認爲圖像目標是好的,因爲當我將它輸出沒有Content-Type頭,我得到了很多奇怪的符號:)

回答

0

今天我瞭解到,如果您在圖像創建之前的某個位置有ob_start(),您應該在標題之前將其清除...

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