Cách dễ dàng để thực hiện việc này là giao công việc cho ImageMagick thông qua mô-đun CPAN PerlMagick. Các phương pháp Identify
và Ping
được thiết kế cho mục đích đó.
use strict;
use Image::Magick;
my $im = Image::Magick->new();
my ($width, $height, $size, $format) = $im->Ping('/path/to/my/image.jpg');
Sau khi thực hiện chương trình này ít, biến $format
sẽ chứa một chuỗi với định dạng xác định của hình ảnh (trong ví dụ này: "JPEG"), hoặc undef
trong trường hợp lỗi (file không tồn tại, không được công nhận định dạng, v.v.)
Chỉnh sửa: ... và hoàn toàn trả lời câu hỏi của bạn: có thể giả định rằng tệp được cho là hình ảnh nếu Ping
trả về một chuỗi định dạng và nếu đó là một phần của bất kỳ tập hợp con nào bạn quyết định trắng -list từ list of supported formats của ImageMagick (cũng bao gồm các định dạng không phải hình ảnh).
Nguồn
2012-06-18 12:53:55
Tôi cho rằng bạn có thể phát hiện một số định dạng hình ảnh (.jpg, .png, .gif), nhưng không phải tất cả các định dạng hiện có.) Nó có đủ không? – raina77ow
câu hỏi của tôi là hướng tới một giải pháp KHÔNG nhìn vào các phần mở rộng tập tin – Thariama
Điều gì làm bạn nghĩ rằng tôi đã nói về các phần mở rộng tập tin, không phải là định dạng tập tin? – raina77ow