我正在做一个类来处理“IPTC”图像,需要将一些值写入数组,如下例所示;
[2#020] => Array //SUPPLEMENTAL_CATEGORY
(
[0] => SPORT
[1] => REAL MADRID
)
[2#025] => Array //KEYWORDS
(
[0] => value 1
[1] => value 2
[2] => value 3
)
希望实施的例子;
$iptc = new Iptc('some_image.jpg');
$iptc->set('KEYWORDS', array(
'value 1',
'value 2',
'value 3'
));
任何人都可以帮我这个吗?
注意:我正在使用“iptcembed”在图像中写入元标记。
谢谢!
答案 0 :(得分:1)
我甚至设法解决了这个问题,我将在这里分享我是如何做到的;
$val = array('keyword1', 'keyword2', 'keyword3');
$rec = 2;
$tag = 025;
if (is_array($val)) {
$source = '';
foreach($val as $item) {
$len = strlen($item);
$source .= chr(0x1c).chr($rec).chr($tag);
$source .= chr($len >> 8).
chr($len & 0xff).
$item;
}
return $source;
}
结果
Array
(
[0] => keyword1
[1] => keyword2
[2] => keyword3
)
拥抱!