2012-05-16 4 views
0

Я занимаюсь классом для обработки изображения «IPTC» и вам нужно записать некоторые значения в массив, как показано в приведенном ниже примере;Запись массива значений в «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» для создания метатегов на изображении.

спасибо!

ответ

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 
) 

Hug!

+1

следует этому классу, который я сделал для работы с «IPTC» https://github.com/agutoli/Image_Iptc – Agutoli