PHP에서 getimagesize() 함수는 이미지 파일의 크기와 관련된 다양한 정보를 손쉽게 확인할 수 있는 내장 함수입니다. 이 함수를 활용하면 이미지의 너비, 높이뿐만 아니라 이미지 유형, MIME 타입 등의 메타 정보까지 한 번에 얻을 수 있어 업로드 파일 검증이나 레이아웃 처리에 매우 유용합니다.
기본 문법
getimagesize(file_name, img_info)
매개변수 설명
file_name: 크기를 확인하려는 이미지 파일의 경로입니다. 로컬 경로 또는 URL을 사용할 수 있습니다.
img_info (선택 사항): 이미지 파일에서 추가적인 확장 정보를 추출합니다. JFIF 형식의 JPEG 파일만 지원합니다.
반환값
getimagesize() 함수는 배열(Array)을 반환하며, 각 요소는 다음과 같은 의미를 가집니다.
[0]: 이미지의 너비(픽셀 단위)
[1]: 이미지의 높이(픽셀 단위)
[2]: 이미지 유형을 나타내는 상수 (예: 1 = GIF, 2 = JPEG, 3 = PNG)
[3]: HTML
img태그에 바로 사용할 수 있는 width/height 문자열[bits]: 색상당 비트 수
[mime]: 이미지의 MIME 타입 (예: image/png)
사용 예제
아래는 원격 URL의 이미지 정보를 가져오는 예제 코드입니다.
<?php
$image_info = getimagesize("https://www.tutorialspoint.com/images/tp-logo-diamond.png");
print_r($image_info);
?>
출력 결과
위 코드를 실행하면 다음과 같은 배열이 출력됩니다.
Array ( [0] => 205 [1] => 120 [2] => 3 [3] => width="205" height="120" [bits] => 8 [mime] => image/png)
활용 팁
반환된 [3] 요소는 HTML 태그에 그대로 삽입할 수 있어 동적으로 이미지 태그를 생성할 때 특히 편리합니다. 또한 사용자가 업로드한 파일이 실제 이미지인지 검증할 때 MIME 타입 값을 활용하면 보안성을 높일 수 있습니다.