У меня есть ошибка изображения, когда я пытаюсь генерировать изображения 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 не возвращает мне какую-либо ошибку и Г.Д. функции возвращают логическое значение (истина). По умолчанию изображение показывает штраф в моем кого-н
Вы нас ожидает обнаружить ошибку в (испорченного) дамп формат двоичного файла? Не было бы проще просто прочитать те ошибки, которые вы отбросили? –
Я предлагаю вам выполнить свой код и попытаться выяснить, какая часть дает вам ошибку. Кроме того, откуда вы знаете, что есть ошибка? Каким образом вы выводите изображение? Вы знаете, что вы также должны установить заголовок («Content-Type: image/jpg»); », чтобы браузер отображал изображение. – user1477388
Разве вы не будете пытаться выводить 2 изображения, если файл изображения не может быть найден? – Raad