Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hàm exif_imagetype() trong PHP

Extension EXIF cho phép làm việc với metadata ảnh từ camera/điện thoại. Hàm exif_imagetype() xác định loại ảnh bằng cách đọc các byte đầu tiên (signature/magic number). Dùng để tránh gọi hàm EXIF khác trên file không hỗ trợ, hoặc kết hợp $_SERVER['HTTP_ACCEPT'] kiểm tra browser có hiển thị được ảnh không.

Cú pháp

int exif_imagetype(string $filename)

Tham số

  • $filename – Đường dẫn file ảnh.

Giá trị trả về

Trả về hằng số (constant) tương ứng loại ảnh nếu signature khớp, false nếu không.

Bảng hằng số Image Type

Giá trị Hằng số Giá trị Hằng số
1 IMAGETYPE_GIF 10 IMAGETYPE_JP2
2 IMAGETYPE_JPEG 11 IMAGETYPE_JPX
3 IMAGETYPE_PNG 12 IMAGETYPE_JB2
4 IMAGETYPE_SWF 13 IMAGETYPE_SWC
5 IMAGETYPE_PSD 14 IMAGETYPE_IFF
6 IMAGETYPE_BMP 15 IMAGETYPE_WBMP
7 IMAGETYPE_TIFF_II (Intel byte order) 16 IMAGETYPE_XBM
8 IMAGETYPE_TIFF_MM (Motorola byte order) 17 IMAGETYPE_ICO
9 IMAGETYPE_JPC 18 IMAGETYPE_WEBP

Ví dụ 1: File JPEG

<?php
$filetype = exif_imagetype('C:\xampp\htdocs\test\office.jpg');
echo "The file type is: " . $filetype;
// Output: The file type is: 2
?>

Ví dụ 2: File PNG

<?php
$filetype = exif_imagetype('C:\xampp\htdocs\test\img46.png');
echo "The file type is: " . $filetype;
// Output: The file type is: 3
?>

Lưu ý

  • Chỉ đọc header, không load toàn bộ ảnh → nhanh.
  • Cần extension exif bật trong php.ini.
  • Kết hợp image_type_to_mime_type() để lấy MIME type: image_type_to_mime_type(exif_imagetype($file)).