Loading:


iptcembed
iptcembed ( string $iptcdata , string $jpeg_file_name [, int $spool ] )


Umieszcza binarne dane IPTC w obrazie JPEG


Parametry

 

iptcdata - dane do zapisania



jpeg_file_name
- ścieżak do pliku JPEG



spool
- Jeśli spool jest ponad 2 JPEG zostanie zwrócony jako ciąg znaków





Napisz Artyku³

Listing



//Przykład #1
<?php

// 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;
}

// Path to jpeg file
$path = './phplogo.jpg';

// Musimy sprawdzić, czy tam nie ma żadnych danych IPTC w JPEG. //Jeśli są  to wywalamy ponieważ nie możemy zamieścić dowolne //zdjęcie, które ma już jakieś dane IPTC!
$image = getimagesize($path, $info);

if(isset($info['APP13']))
{
    die('Error: IPTC znaleziono dane w źródle obrazu, nie można kontynułować');
}

// Ustawiamy tagi IPTC
$iptc = array(
    '2#120' => 'Test image',
    '2#116' => 'Copyright 2008-2009, The PHP Group'
);

// Konwertuj znaczniki IPTC w kod binarny
$data = '';

foreach($iptc as $tag => $string)
{
    $tag = substr($tag, 2);
    $data .= iptc_make_tag(2, $tag, $string);
}


$content = iptcembed($data, $path);

// zapisz nowye dane do obrazu pliku.
$fp = fopen($path, "wb");
fwrite($fp, $content);
fclose($fp);
?>
 




Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2024 v.1.5 | design: diviXdesign & rainbowcolors