我已經能夠通過使用exif_read_data(). 根據PHP檔案中提供的EXIF 檔案,必須有一個imageNumber標簽(我知道這不能保證),但我在我的測驗影像(來自尼康 D5100 的未編輯 JPG)上看不到類似的內容。根據在線快門計數網站,同一影像似乎包含有關快門計數的資訊。
如果您能闡明我為獲得這個數字可能做錯了什么,真的很感激。或者有沒有其他地方或方法將快門計數存盤在影像元中?
編輯:
這是我嘗試解決的代碼,我正在嘗試獲取imageNumber顯然無法獲取的代碼。但是在線工具會在同一幅影像上顯示快門計數。我想使用 PHP(甚至使用另一種語言)獲得相同的結果。任何幫助表示贊賞。
$exif_data = exif_read_data ( $_FILES['fileToUpload']['tmp_name']);
print_r( $exif_data);
uj5u.com熱心網友回復:
按照您的示例檔案是專用于尼康的MakerNote,并在那里具體到D5100的模式。在詳細模式下使用ExifTool顯示結構:
> exiftool -v DSC_8725.JPG ... JPEG APP1 (65532 bytes): ExifByteOrder = MM [IFD0 directory with 11 entries] | 0) Make = NIKON CORPORATION | 1) Model = NIKON D5100 ... | 9) ExifOffset (SubDirectory) --> | [ExifIFD directory with 41 entries] ... | | 16) MakerNoteNikon (SubDirectory) --> | | [MakerNotes directory with 55 entries] ... | | | 38) ShotInfoD5100 (SubDirectory) --> | | | [BinaryData directory, 8902 bytes] ... | | | | ShutterCount = 41520
- JPEG解釋,見段
APP1:- Exif解釋,見標簽
0x927c:- Nikon 的 MakerNote解釋,見標簽
0x0091:- ShotInfoD5100解釋,見索引
801
- ShotInfoD5100解釋,見索引
- Nikon 的 MakerNote解釋,見標簽
- Exif解釋,見標簽
MakerNotes 是專有的:如何存盤資料取決于每個制造商。來自那些的檔案很少見——主要是業余愛好者對這些資訊進行逆向工程——這就是為什么只有選定的軟體才能為選定的模型讀取它。在這一點上,您可能會意識到存在具有數十種型號的數十家制造商,對于這些制造商,您都必須以不同的方式解釋位元組 - 這是大量作業!根據exif_read_data()ChangeLog PHP 7.2.0 沒有任何地方聲稱支持尼康。
您必須MakerNote自己決議或找到已經為您完成此操作的PHP代碼/庫/軟體。作為最后的手段,您可以執行非PHP軟體(例如ExifTool)來獲得所需的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/391798.html
上一篇:如何從左側而不是右側溢位影像
