iptcembed
(PHP 4, PHP 5, PHP 7)
iptcembed — バイナリ IPTC データを JPEG イメージに埋めこむ
説明
iptcembed
( string $iptcdata
, string $jpeg_file_name
[, int $spool
= 0
] ) : mixed
バイナリ IPTC データを JPEG イメージに埋めこみます。
パラメータ
iptcdata
- 書き込むデータ。
jpeg_file_name
- JPEG 画像へのパス。
spool
- Spool フラグ。このフラグが 2 より小さい場合は、JPEG が文字列として返されます。そうでない場合は、JPEG を STDOUT に出力します。
返り値
成功し、かつ spool
が 2 より小さい場合は、JPEG を返します。
失敗した場合に false
を返します。spool
が 2 以上の場合は、成功した場合に true
を返します。
失敗した場合に false
を返します。
例
例1 IPTC データの JPEG への埋め込み
<?php// Thies C. Arntzen による iptc_make_tag() 関数function iptc_make_tag($rec, $data, $value){ $length = strlen($value); $retval = chr(0x1C) . chr($rec) . chr($data); if($length < 0x8000) { $retval .= chr($length >> 8) . chr($length & 0xFF); } else { $retval .= chr(0x80) . chr(0x04) . chr(($length >> 24) & 0xFF) . chr(($length >> 16) & 0xFF) . chr(($length >> 8) & 0xFF) . chr($length & 0xFF); } return $retval . $value;}// jpeg ファイルへのパス$path = './phplogo.jpg';// IPTC タグを設定します$iptc = array( '2#120' => 'Test image', '2#116' => 'Copyright 2008-2009, The PHP Group');// IPTC タグをバイナリコードに変換します$data = ;foreach($iptc as $tag => $string){ $tag = substr($tag, 2); $data .= iptc_make_tag(2, $tag, $string);}// IPTC データを埋め込みます$content = iptcembed($data, $path);// 新しい画像データをファイルに書き込みます$fp = fopen($path, "wb");fwrite($fp, $content);fclose($fp);?>
注意
注意:
この関数は、GD 画像ライブラリを必要としません。