Đối với câu trả lời nhanh , hãy xem các hàng cuối cùng của bài đăng này.
Tôi nghĩ rằng một số mã vẫn bị thiếu. Tôi đến chính xác trên cùng một vấn đề và sau khi tìm kiếm tôi tìm thấy nhiều trang web liên quan đến vấn đề này:
http://drupal.org/node/556970 một báo cáo lỗi với 2 giải pháp:
- chỉ cần đặt một
@
trước exif_read_data
- séc
$imageinfo['APP1']
nếu nó chứa Exif
Sau khi đọc câu trả lời của dcro tại đây, tôi phát hiện tham số thứ hai là getimagesize()
trả về một mảng $imageinfo
như vậy. Bây giờ tôi thử nghiệm một trong những hình ảnh của tôi với đoạn mã sau:
<?php
getimagesize("test.jpg", $info);
var_dump($info);
?>
này trở như sau:
array(1) {
["APP1"]=>
string(434) "http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Exempi + XMP Core 4.1.1">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:type>Image</dc:type>
<dc:format>image/jpeg</dc:format>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>"
}
này btw. trông không giống Exif. Điều này trông giống như XMP, nhưng phần buồn cười là ví dụ exiftool tìm thấy một số dữ liệu exif (định hướng ví dụ). Trong XMP specification tôi thấy rằng có thể có dữ liệu XMP và Exif cạnh nhau trong một tệp (trang 18). Tìm kiếm thêm tiết lộ rằng có kịch bản như thế này đến extract Exif from XMP.
Dù sao, vì
- getimagesize() không cung cấp cho tôi thông tin có thể sử dụng về Exif trong hình ảnh của tôi và
- kịch bản tuyên bố cho thấy trong hình ảnh của tôi dữ liệu Exif không được nhúng vào các dữ liệu XMP và
- nó chỉ đơn giản có tác dụng ngăn chặn các exif đọc dữ liệu() cảnh báo
tôi vẫn sẽ sử dụng giải pháp @exif-read-data($file_path)
.
Tôi vẫn không biết tại sao tôi có cảnh báo này, vì vậy tôi tìm thấy cách duy nhất để loại bỏ nó là đặt "@" trước exif_read_data – baranq