iptcembed

(PHP 4, PHP 5, PHP 7)

iptcembedEmbeds binary IPTC data into a JPEG image

Beschreibung

iptcembed ( string $iptcdata , string $jpeg_file_name [, int $spool = 0 ] ) : mixed

Embeds binary IPTC data into a JPEG image.

Parameter-Liste

iptcdata

The data to be written.

jpeg_file_name

Path to the JPEG image.

spool

Spool flag. If the spool flag is less than 2 then the JPEG will be returned as a string. Otherwise the JPEG will be printed to STDOUT.

Rückgabewerte

If spool is less than 2, the JPEG will be returned, Im Fehlerfall wird FALSE zurückgegeben.. Otherwise returns TRUE on success Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Embedding IPTC data into a JPEG

<?php

// iptc_make_tag() function by Thies C. Arntzen
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';

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

// Convert the IPTC tags into binary code
$data '';

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

// Embed the IPTC data
$content iptcembed($data$path);

// Write the new image data out to the file.
$fp fopen($path"wb");
fwrite($fp$content);
fclose($fp);
?>

Anmerkungen

Hinweis:

Diese Funktion benötigt die GD-Bibliothek nicht.