[php] EXIF, IPTC データ – 写真 メタデータ 抜く 関数
一応, EXIFわ IPTCを 抜く 関数は 大部分の PHPに 設置されて ある の ようだ. バージョン 4度 支援する ようだ.
php 公式 ホームページの 説明を 見よう.
そして 上の 説明と デッグルを 参考して 私が 作った 関数だ.
function viewPhotoInfoArray($image_filename){
/**
* exif 抜いて 出力
* @var unknown_type
*/
echo '<h2>EXIF data</h2>';
$exif = exif_read_data($image_filename, 'IFD0');
echo $exif===false ? "No header data found.<非我を/>n" : "Image contains headers<非我を/>n";
$exif = exif_read_data($image_filename, 0, true);
echo "$image_filename :<非我を/>n";
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val<非我を/>n";
}
}
/**
* iptc 抜いて 出力
* @var unknown_type
*/
$size = GetImageSize ("$image_filename",&$info);
$iptc = iptcparse ($info["APP13"]);
if (isset($info["APP13"])) {
$iptc = iptcparse($info["APP13"]);
if (is_array($iptc)) {
/**
* 保存された そのまま 抜いて 見せてくれる.
*/
echo '<h2>IPTC raw data</h2>';
foreach ($iptc as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val<非我を/>n";
}
}
/**
* それなりに 文字列で 説明を つけて 見えて 与える.
*/
$photo_info_array[description] = $iptc["2#120"][0];
$photo_info_array[headline] = $iptc["2#105"][0];
$photo_info_array[description_writer] = $iptc['2#122'][0];
$photo_info_array[creator] = $iptc["2#080"][0];
$photo_info_array[copyright_notice] = $iptc["2#116"][0];
$photo_info_array[source] = $iptc["2#110"][0];
$photo_info_array[keyword] = $iptc['2#025'];
$photo_info_array[graphic_name] = $iptc["2#005"][0];
$photo_info_array[urgency] = $iptc["2#010"][0];
$photo_info_array[category] = $iptc["2#015"][0];
// note that sometimes supp_categories contans multiple entries
$photo_info_array[supp_categories] = $iptc["2#020"][0];
$photo_info_array[spec_instr] = $iptc["2#040"][0];
$photo_info_array[creation_date] = $iptc["2#055"][0];
$photo_info_array[credit_byline_title] = $iptc["2#085"][0];
$photo_info_array[city] = $iptc["2#090"][0];
$photo_info_array[state] = $iptc["2#095"][0];
$photo_info_array[country] = $iptc["2#101"][0];
$photo_info_array[otr] = $iptc["2#103"][0];
$photo_info_array[photo_source] = $iptc["2#115"][0];
$photo_info_array = $iptc["2#120"][0];
}
echo '<h2>IPTC to String</h2>';
foreach ($photo_info_array as $key => $val) {
if(!is_array($val)){
echo "$key: $val<非我を/>n";
}else{
foreach ($val as $section => $keyword_val){
echo "$key.$section: $keyword_val<非我を/>n";
}
}
}
}
}
これ しきりに コード そのまま 中 出て <非我を>非我を>路 使った.
何 敢えて 句節句節 説明 月 必要 ない の ようだ. 上 関数は 見えて 与える 関数だから 分かって 寝る 使うこと 望む.
そして $miage_filename銀 経路を 含んで 使うと するという ガール 忘れるの 以外に.
- コメント機能はありません。コメントの代わりに[email protected]にメールを送ってください。