경고: imagejpeg() [function: imagejpeg]: gd-jpeg: JPEG 라이브러리에서 복구할 수 없는 오류가 보고됩니다.
루트 폴더에 워드프레스를 설치했습니다.
어제까지는 정상적으로 동작했지만 오늘은 썸네일 이미지를 생성하는 것에 대해 다음 오류가 발생합니다.
Warning: imagejpeg() [function:imagejpeg]: gd-jpeg: JPEG library reports unrecoverable error: in public_html/wp-includes/media.php on line 459
이 경고에 대해 아는 사람 있나요?
도와주세요
다음 코드는 459번 줄에 있습니다.
if ( !imagejpeg( $newimage, $destfilename, apply_filters( 'jpeg_quality', $jpeg_quality, 'image_resize' ) ) )
이미지 작성은 아마 시도했을 겁니다.jpeg
그렇지 않다jpeg
.
PHP에서 섬네일 스크립트를 테스트할 때도 같은 오류가 발생하였습니다.그리고 내 입력 파일의 헤더는png
그 연장은 이었지만.jpg
.
그래서 만약 이미지 생성에 오류가 있다면jpeg
, 로부터 작성하려고 합니다.png
(또는 다른 오류가 발생한 경우)
1) 디스크 공간 확인
시스템에 충분한 디스크 공간이 있어야 합니다.
2) 메모리 한계 확인
php에 메모리 추가 설정:
ini_set("memory_limit","256M");
3) post_max_size 및 upload_max_filesize를 확인합니다.
htaccess 파일에서 추가 설정:
php_value post_max_size 16M
php_value upload_max_filesize 6M
4) 기능 앞에 @를 붙입니다.
@imagejpeg(..............);
Point 1)은 나에게 효과가 있었다.
MIME 타입의 이미지를 올바르게 판별하려면 , 함수를 사용할 필요가 있습니다.확장자가 jpg인 png 이미지가 있으면 이 오류가 발생합니다.
이 오류를 방지하려면 올바른 MIME 유형의 이미지를 가져와야 합니다.
function getImage($path) {
switch(mime_content_type($path)) {
case 'image/png':
$img = imagecreatefrompng($path);
break;
case 'image/gif':
$img = imagecreatefromgif($path);
break;
case 'image/jpeg':
$img = imagecreatefromjpeg($path);
break;
case 'image/bmp':
$img = imagecreatefrombmp($path);
break;
default:
$img = null;
}
return $img;
}
같은 에러가 발생.하지만 지금 나는 같은 문제를 해결했다.
답변은 다음과 같습니다.png 업로드 중이고 jpg로 변환됩니다.
jpg로 확인 부탁드립니다.그리고 png를 jpg로 변환해야 다른 기능을 사용할 수 있으니 확인 부탁드립니다.
아래 코드는 GD 라이브러리를 사용하여 영상을 변환하는 데 유용합니다.
//variable declare or parameter use
$originalImage ="1.jpg";
$quality=100; // for jpg good quality
$outputImage; //for source file save.
// jpg, png, gif or bmp?
$exploded = explode('.',$originalImage);
$ext = $exploded[count($exploded) - 1];
if (preg_match('/jpg|jpeg/i',$ext))
$imageTmp=imagecreatefromjpeg($originalImage);
else if (preg_match('/png/i',$ext))
$imageTmp=imagecreatefrompng($originalImage);
else if (preg_match('/gif/i',$ext))
$imageTmp=imagecreatefromgif($originalImage);
else if (preg_match('/bmp/i',$ext))
$imageTmp=imagecreatefrombmp($originalImage);
else
return 0;
// quality is a value from 0 (worst) to 100 (best)
imagejpeg($imageTmp, $outputImage, $quality);
imagedestroy($imageTmp);
PHP7의 경우imagecreatefromjpeg
잘못된 파일을 열려고 하면 치명적인 오류가 발생하기 시작합니다.@
신호가 잡히지 않습니다.
대신 다음을 사용하십시오.
$im = imagecreatefromstring(file_get_contents($filename));
if ($im !== false) { ... }
언급URL : https://stackoverflow.com/questions/10611883/warning-imagejpeg-functionimagejpeg-gd-jpeg-jpeg-library-reports-unrecov
'programing' 카테고리의 다른 글
jQuery ajax 콜은 PATCH를 지원합니까? (0) | 2023.02.26 |
---|---|
Oracle 선택 항목에서 더 많은 열이 있는 테이블에 삽입 (0) | 2023.02.26 |
중력은 성공적인 형태 제출 시 화재 이벤트를 형성합니다. (0) | 2023.02.26 |
강제 JSONNET: DateTime을 시리얼화할 때 밀리초 포함(ms 구성 요소가 0인 경우에도) (0) | 2023.02.26 |
json.dumps를 사용할 때 python dict의 int 키가 문자열로 바뀌는 이유는 무엇입니까? (0) | 2023.02.26 |