2012-05-16 29 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 
) 

擁抱!

+1

遵循這個類我對付「IPTC」https://github.com/agutoli/Image_Iptc – Agutoli