2014-01-20 95 views
0

創建圖像我有一個形象的錯誤,當我嘗試生成JPEG圖像,但PHP不檢索我的任何錯誤錯誤與GD

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

    class Avatar extends Geopack_Controller{ 

     public function __construct() { 
      parent::__construct(); 
     } 

     public function getAvatar($UsuarioId){ 
      error_reporting(0); 
      if(!is_numeric($UsuarioId)){exit;} 

      header("Content-type: image/jpeg"); 
      $image_p = imagecreatetruecolor(150, 150); 

      $gen = false; 

      $avatar_image = $this->config->item('imgrack_apath')."/avatares/".$UsuarioId.".".$this->config->item('img_config_avatar')['sext']; 
      $avatar_default = $this->config->item('imgrack_apath')."/recursos/noavatar.jpg"; 

      if(file_exists($avatar_image)){ 
       if(@GetImageSize($avatar_image)){ 
        $image = imagecreatefromjpeg($avatar_image); 
       }else{ 
        $image = imagecreatefromjpeg($avatar_default); 
       } 
      }else{ 
       $image = imagecreatefromjpeg($avatar_default); 
      } 

      if(!$image){$gen = true;$image = imagecreatefrompng($avatar_image);} 

      imagecopyresampled($image_p, $image, 0, 0, 0, 0, 150, 150, 150, 150); 

      if($gen){imagejpeg($image_p,$avatar_image);}else{imagejpeg($image_p);} 


      imagedestroy($image_p); 
     } 
    } 

這段代碼顯示了默認的頭像,如果不存在用戶的化身。如果用戶的頭像存在,圖像擴展名爲PNG,則代碼會將圖像PNG轉換爲JPG

問題是圖像有錯誤。這是圖像jpeg代碼:

ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC  $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ––"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’「」•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’「」•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ?é(¢Š(¢Š(<š)¤F #È‘¡w`w¨ÅÜ%Q·`>B「ëYF"¢¸e4Ðì#hóò7$ÚûD^a˜+ŽÍÆi>Ó¹0s¼ûÄ<õ9úÒ†!ƒwhz9T½=ûS«*Ö쬮€「žÁªýµÂÜE¸pÃï[email protected] ÅÊ[ -’[email protected];Ö\÷rÏÁ;Wû«N¿」Ks…èƒn}MV Š(Š(¦µŸìÒ—+¸ƒŠ†ŠÝŠd™7#dwö©+3OEf,®Ë"ýáÔ0­:(¢Š(¢Š(¢Š(¢Š*ɼ‹va÷õ©ë;TÎbôæ€3袎$ô×uK;¾¦ª¾ ü‘「îN*¬óä,~èû£ÐT`@’{ ¸5ïþ¬Eu§nJ·£VsE"º2R)」µEV³œÊ…å׿¨«4$˜&Y;¿JÝé\õlÙ1k8Éì[email protected](¢Š(¢Š(¢Š(¢Š*ž¤›­ÃuªåQ¼»Ug€¦àW「šÌ¨®w b1RÑ@_fŸþy?åWlá1FY」«±ï×bŠ:ŒAê+"dÎè:ÅjK*Ãvü©¬–bÌYº「「@Y]/¸"´ë>ÅL_²Œ~&´(­ËdÙmÿ²+5ß" þ"oô Š(Š(Š(Š(±¯†/$üé[5—©¦&GìËÊ€)QERNäšZ«~åaUÄy —™äÏEtSG£「M­+HDQ?}ÆO°ô  cbŒ"ôýiô[email protected]Ü:œ0èq[VÎÏm¿Þ#šÄU.ꃫVú€ªè[email protected]@[email protected]@W¼·7¸FjŃ,FLlA#¸¦U½E6ÝþòÕJ*9`I‚‡Ï0jJ¯spÐÚ îÏZO°ÃþßçVÀvª?ÚÏ4ýjê6èÕR QE€[email protected]Æà;) £##©­Zlk¶[email protected]:€ (¢€ (¢€ (¢€ (¢€ (¢€*ß@f‡*2éȾՑ] fjQ":ȸÝG¯½QªZ‡Xÿ»Ebö­xÔGþè§Ñ@Z±·2Ê$aò!üÍU­èURT ¨Þ€EPEPEPEPEPEP&™ Œ»ž?c\N×ïaÐJ›QµÎÎÈ8üj¥QEQEfÒìÛ¶ÖÉŒõžâ«[email protected]°e¤zKXQ\KÜr§QW#ÔÈâXóî´£ECÜýÙ>‡ƒSPEPEPE#:¢–bI¬ùõ,å`ð#þzIc…wHÁEgÍ©3qÚ?¼zÕ&fvÜìY½M%+1f,Ä’z「IEQEQEQEQET‘ÜKÜèy~=M‡FºÕ¸ï —€àFâ±h ‡­‚’É #(ôŠF.ç,Ź¤Á¢Š0hÁ¢Š0hÁ¢Š0hÁ¢Š0hÁ¢Š0hÁ¢Š0hÁ¢Š0hÁ¢Š0hÁ¢Š9¢Š(ÿÙ 

PHP不會返回任何錯誤和gd函數返回布爾(真)。默認的圖像顯示在我的S.O精細

+2

你希望我們在一個二進制文件格式的(損壞)轉儲發現錯誤前面的空間?僅僅閱讀你拋棄的錯誤並不容易? –

+0

我建議你逐步瀏覽你的代碼,並試着看看哪個部分給你提供了錯誤。另外,你怎麼知道有一個錯誤呢?你用什麼手段輸出圖像?你知道你還必須設置'header(「Content-Type:image/jpg」);'爲了讓瀏覽器呈現圖像。 – user1477388

+0

如果無法找到圖像文件,是不是最終要輸出2個圖像? – Raad

回答

0

最後,問題是在所有代碼

相關問題