imagecreatefromjpeg()는 PHP에 내장된 함수로, JPEG 파일을 불러와 새로운 이미지를 생성하는 데 사용됩니다. 이 함수는 지정한 파일명으로부터 얻은 이미지를 나타내는 이미지 식별자(identifier)를 반환합니다.
문법(Syntax)
resource imagecreatefromjpeg(string $filename)
매개변수(Parameters)
imagecreatefromjpeg() 함수는 하나의 매개변수만 사용합니다. $filename은 불러올 JPEG 이미지의 이름 또는 파일 경로를 담고 있습니다.
반환 값(Return Values)
이미지 로딩에 성공하면 이미지 리소스 식별자를 반환하고, 실패할 경우 오류(false)를 반환합니다.
예제 1 – 로컬 이미지 불러와 브라우저에 출력하기
<?php
// 로컬 드라이브/파일에서 이미지 불러오기
$img = imagecreatefromjpeg('C:\xampp\htdocs\test\1.jpeg');
// 브라우저에 불러온 이미지 표시하기
header('Content-type: image/jpg');
imagejpeg($img);
imagedestroy($img);
?>
출력 결과

예제 2 – 이미지 불러온 후 좌우 반전하여 저장하기
<?php
// 로컬 드라이브/파일에서 JPEG 이미지 불러오기
$img = imagecreatefromjpeg('C:\xampp\htdocs\test\1(a).jpeg');
// 이미지 반전시키기
imageflip($img, 1);
// 지정한 경로에 이미지 저장하기
imagejpeg($img,'C:\xampp\htdocs\test\1(b).png');
imagedestroy($img);
?>
입력 이미지

출력 이미지

설명 – 예제 2에서는 imagecreatefromjpeg() 함수를 사용해 로컬 경로에서 JPEG 이미지를 불러왔습니다. 이후 imageflip() 함수를 이용해 해당 이미지를 반전시켰습니다.
예제 3 – JPEG 이미지 로딩 중 발생하는 오류 처리하기
<?php
function LoadJpeg($imgname) {
/* 열기 시도 */
$im = @imagecreatefromjpeg($imgname);
/* 실패 여부 확인 */
if(!$im) {
/* 검은색 배경의 새 이미지 생성 */
$im = imagecreatetruecolor(700, 300);
$bgc = imagecolorallocate($im, 0, 0, 255);
$tc = imagecolorallocate($im, 255,255, 255);
imagefilledrectangle($im, 0, 0, 700, 300, $bgc);
/* 오류 메시지 출력 */
imagestring($im, 20, 80, 80, 'Error loading ' . $imgname, $tc);
}
return $im;
}
header('Content-Type: image/jpeg');
$img = LoadJpeg('bogus.image');
imagejpeg($img);
imagedestroy($img);
?>
출력 결과

마무리
imagecreatefromjpeg() 함수는 GD 라이브러리를 기반으로 동작하며, JPEG 이미지를 다루는 웹 애플리케이션에서 썸네일 생성, 이미지 편집, 포맷 변환 등 다양한 작업의 출발점으로 활용됩니다. 이미지 작업이 끝난 후에는 반드시 imagedestroy()를 호출하여 메모리를 해제하는 것이 좋으며, 존재하지 않거나 손상된 파일을 다룰 때는 예제 3처럼 오류 처리 로직을 함께 구현하면 안정적인 코드를 작성할 수 있습니다.