説明
array
exif_read_data ( string filename [, string sections [, bool arrays [, bool thumbnail]]])
関数exif_read_data()ã¯JPEGã¾ãŸã¯TIFFイメージファ
イルã‹ã‚‰EXIFヘッダをèªã¿ã“ã¿ã¾ã™ã€‚ã“ã®é–¢æ•°ã¯ã€ã‚ーãŒãƒ˜ãƒƒãƒ€åã€å€¤
ãŒãƒ˜ãƒƒãƒ€ã«é–¢é€£ã™ã‚‹ã®å€¤ã¨ãªã‚‹é€£æƒ³é…列を返ã—ã¾ã™ã€‚è¿”ã™ãƒ‡ãƒ¼ã‚¿ãŒãªã„
å ´åˆã€FALSEãŒè¿”ã•れã¾ã™ã€‚
filenameã¯èªã¿ã“むファイルåã§ã™ã€‚ã“れã¯ã€
URLã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
sectionsã¯ã€çµæžœã®é…列を生æˆã™ã‚‹éš›ã«å«ã‚ã‚‹
カンマ区切りã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ãƒªã‚¹ãƒˆã§ã™ã€‚
arraysã¯ã€å„セクションをé…列ã¨ã™ã‚‹ã‹ã©ã†ã‹
を指定ã—ã¾ã™ã€‚セクションFILEã€
COMPUTEDã€THUMBNAILã¯ã€
常ã«é…列ã¨ãªã‚Šã¾ã™ã€‚ã“れã¯ã€ã“れらã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã«å«ã¾ã‚Œã‚‹å€¤ã®åå‰
ãŒä»–ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¨è¡çªã™ã‚‹ãŸã‚ã§ã™ã€‚
thumbnailã¯ã€ã‚µãƒ ãƒã‚¤ãƒ«ã®ã‚¿ã‚°ä»˜ãã®ãƒ‡ãƒ¼ã‚¿
ã ã‘ã§ãªãã€ã‚µãƒ ãƒã‚¤ãƒ«æœ¬ä½“ã‚’èªã¿ã“ã‚€ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
注æ„
Exifヘッダã¯ãƒ‡ã‚¸ã‚¿ãƒ«ã‚«ãƒ¡ãƒ©ã«ã‚ˆã‚Šç”Ÿæˆã•れãŸJPEG/TIFFイメージã§ä½¿
用ã•れる傾å‘ãŒã‚りã¾ã™ãŒã€æ®‹å¿µãªã“ã¨ã«ã€å„デジタルカメラメーカー
ã¯ã€å€‹ã€…ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã«é–¢ã™ã‚‹ã‚¿ã‚°ä»˜ã‘ã®æ–¹æ³•ã«ã¤ã„ã¦ç•°ãªã£ãŸè€ƒãˆã‚’æŒã£
ã¦ãŠã‚Šã€ç‰¹å®šã®Exifヘッダã®å˜åœ¨ã‚’仮定ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
例 1exif_read_data()ã®ä¾‹ <?php
echo "test1.jpg:<br>\n";
$exif = exif_read_data ('tests/test1.jpg','IFD0');
echo $exif===false ? "No header data found.<br>\n" : "Image contains headers<br>";
$exif = exif_read_data ('tests/test2.jpg',0,true);
echo "test2.jpg:<br>\n";
foreach($exif as $key=>$section) {
foreach($section as $name=>$val) {
echo "$key.$name: $val<br>\n";
}
}?> |
最åˆã®ã‚³ãƒ¼ãƒ«ã¯ã€å¤±æ•—ã—ã¾ã™ã€‚ã“れã¯ã€ã‚¤ãƒ¡ãƒ¼ã‚¸ãŒãƒ˜ãƒƒãƒ€æƒ…å ±ã‚’æœ‰ã—ã¦ã„ãªã„ãŸã‚ã§ã™ã€‚
test1.jpg:
No header data found.
test2.jpg:
FILE.FileName: test2.jpg
FILE.FileDateTime: 1017666176
FILE.FileSize: 1240
FILE.FileType: 2
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, COMMENT
COMPUTED.html: width="1" height="1"
COMPUTED.Height: 1
COMPUTED.Width: 1
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.UserComment: Exif test image.
COMPUTED.UserCommentEncoding: ASCII
COMPUTED.Copyright: Photo (c) M.Boerger, Edited by M.Boerger.
COMPUTED.Copyright.Photographer: Photo (c) M.Boerger
COMPUTED.Copyright.Editor: Edited by M.Boerger.
IFD0.Copyright: Photo (c) M.Boerger
IFD0.UserComment: ASCII
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.JPEGInterchangeFormatLength: 523
COMMENT.0: Comment #1.
COMMENT.1: Comment #2.
COMMENT.2: Comment #3end |
|
注æ„
イメージã«ä½•らã‹ã®IFDOデータãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã€COMPUTEDã«ã¯ã‚¨ãƒ³
トリByteOrderMotorolaãŒå«ã¾ã‚Œã¾ã™ã€‚ã“ã®ã‚¨ãƒ³ãƒˆãƒªã¯ã€ãƒã‚¤ãƒˆã‚ªãƒ¼ãƒ€
ãŒãƒªãƒˆãƒ«ã‚¤ãƒ³ãƒ‡ã‚£ã‚¢ãƒ³(インテル)ã®å ´åˆã«0ã€ãƒ“ッグインディアン(モト
ãƒãƒ¼ãƒ©)ã®å ´åˆã«1ã¨ãªã‚Šã¾ã™ã€‚ã“れã¯ã€PHP 4.3ã§è¿½åŠ ã•れã¾ã—ãŸã€‚
Exifヘッダã«CopyrightãŒå«ã¾ã‚Œã‚‹å ´åˆã€ã“れã«ã¯2ã¤ã®å€¤ãŒå«ã¾ã‚Œã‚‹å¯
能性ãŒã‚りã¾ã™ã€‚ã“れã¯Exif 2.10ã®è¦ç´„ã«æ²¿ã£ã¦ã„ãªã„ãŸã‚ã€
COMPUTEDセクションã¯ã€ã‚¨ãƒ³ãƒˆãƒª
Copyright.PhotographerãŠã‚ˆã³
Copyright.Editor ã‚’ã¨ã‚‚ã«è¿”ã—ã¾ã™ãŒã€
IFD0セクションã«ã¯ä¸¡æ–¹ã®ã‚¨ãƒ³ãƒˆãƒªã‚’NULLæ–‡å—ã§åˆ†å‰²ã—ãŸåž‹å¼ã®ãƒã‚¤ãƒˆ
é…列ãŒå«ã¾ã‚Œã¾ã™ã€‚ã•ã‚‚ãªãã°ã€(Exifã®ãƒ‡ãƒ•ォルト処ç†ã«åŸºã¥ã)デー
ã‚¿åž‹å¼ã«èª¤ã‚ŠãŒã‚ã‚‹ã¨ã—ã¦æœ€åˆã®ã‚¨ãƒ³ãƒˆãƒªã®ã¿ã‚’è¿”ã—ã¾ã™ã€‚
COMPUTEDã«ã¯ã€ã‚¨ãƒ³ãƒˆãƒªCopyrightã‚‚å«ã¾ã‚Œã¾ã™ã€‚
ã“れã¯ã€å…ƒã®copyrightæ–‡å—列ã¾ãŸã¯photoãŠã‚ˆã³editor copyrightã®ã‚«
ンマ区切りã®ãƒªã‚¹ãƒˆã¨ãªã‚Šã¾ã™ã€‚
注æ„
UserCommentã‚¿ã‚°ã«ã¯Copyrightã‚¿ã‚°ã¨åŒæ§˜ã®å•題ãŒã‚りã¾ã™ã€‚
ã“ã®ã‚¿ã‚°ã«ã¯2ã¤ã®å€¤ã‚’ä¿å˜ã™ã‚‹å¯èƒ½æ€§ãŒã‚りã€ã“ã®å ´åˆã€ä½¿ç”¨ã•れる
ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ãŒæœ€åˆã«ã€å€¤è‡ªä½“ãŒ2番目ã«ãã¾ã™ã€‚ã“ã®å ´åˆã€IFDã‚»
クションã«ã¯ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¾ãŸã¯ãƒã‚¤ãƒˆé…列ã®ã¿ãŒå«ã¾ã‚Œã¾ã™ã€‚
COMPUTEDセクションã«ã¯ã€ã‚¨ãƒ³ãƒˆãƒª
UserCommentEncodingã¨
UserCommentã®ä¸¡æ–¹ã‚’ä¿å˜ã—ã¾ã™ã€‚
エントリUserCommentã¯ã©ã¡ã‚‰ã®å ´åˆã§ã‚‚å–å¾—å¯
能ã§ã™ã€‚ã“ã®ãŸã‚ã€FD0セクションã®å€¤ã®è˜åˆ¥ã«ä½¿ç”¨ã•れã¾ã™ã€‚
ユーザコメントãŒUnicodeã¾ãŸã¯JISエンコーディングを使用ã—ã¦ãŠã‚Šã€
モジュールmbstringãŒåˆ©ç”¨ã§ãã‚‹å ´åˆã€ã“ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¯exifã®
åˆæœŸè¨å®šã«åŸºã¥ã自動的ã«å¤‰æ›´ã•れã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã¯ã€PHP 4.3ã§è¿½åŠ
ã•れã¾ã—ãŸã€‚
注æ„
Height 㨠Width ã¯ã€getimagesize()ã¨åŒã˜æ–¹æ³•
ã§è¨ˆç®—ã•れã¾ã™ã€‚ã“ã®ãŸã‚ã€ã“れらã®å€¤ã¯ãƒ˜ãƒƒãƒ€ã®ä¸€éƒ¨ã¨ã—ã¦è¿”ã™éš›ã«
使用ã™ã‚‹ã¹ãã§ã¯ã‚りã¾ã›ã‚“。ã¾ãŸã€htmlã¯é€šå¸¸ã®
HTMLã§ä½¿ç”¨ã•れるheight/widthテã‚スト文å—列ã§ã™ã€‚
注æ„
PHP 4.3以é™ã€ã“ã®é–¢æ•°ã¯é…列をå«ã‚€åŸ‹ã‚ã“ã¾ã‚ŒãŸ
IFDデータを全ã¦èªã‚€ã“ã¨ãŒå¯èƒ½ã¨ãªã£ã¦ã„ã¾ã™ã€‚
ã¾ãŸã€åŸ‹ã‚ã“ã¿ã®ã‚µãƒ ãƒã‚¤ãƒ«ã®å¤§ãã•もサブé…列
THUMBNAILã«è¿”ã•れã¾ã™ã€‚
関数exif_read_data()ã¯TIFF
åž‹å¼ã®ã‚µãƒ ãƒã‚¤ãƒ«ã‚’è¿”ã™ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚
最後ã«è¿”り値ã®(メモリリミットã«é”ã™ã‚‹ã¾ã§ã§ã¯ãªã„)最大長ã¯ã‚‚ã¯ã‚„
ãªã„ã“ã¨ã‚’追記ã—ã¦ãŠãã¾ã™ã€‚
注æ„
ã“ã®é–¢æ•°ã¯ã€--enable-exifを指
定ã—ã¦PHP 4をコンパイルã—ãŸå ´åˆã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã€‚ã“ã®æ©Ÿèƒ½ã¨å‹•作
ã¯ã€PHP 4.2ã§å¤‰æ›´ã•れã¦ã„ã¾ã™ã€‚ã“れより以å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯éžå¸¸ã«
ä¸å®‰å®šã§ã™ã€‚
PHP 4.3以é™ã€--enable-mbstringを指定ã—ã¦PHP 4ãŒã‚³
ンパイルã•れã¦ã„ã‚‹å ´åˆã€ãƒ¦ãƒ¼ã‚¶ã‚³ãƒ¡ãƒ³ãƒˆã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¯è‡ªå‹•
çš„ã«å¤‰æ›ã•れã¾ã™ã€‚
ã“ã®é–¢æ•°ã¯ã€GDイメージライブラリを必è¦ã¨ã—ã¾ã›ã‚“。
exif_thumbnail() ãŠã‚ˆã³
getimagesize()ã‚‚å‚ç…§ãã ã•ã„。