iptcembed
(PHP 4, PHP 5, PHP 7, PHP 8)
iptcembed — Embeds binary IPTC data into a JPEG image
Beschreibung
$iptc_data
, string $filename
, int $spool
= 0): string|boolEmbeds binary IPTC data into a JPEG image.
Parameter-Liste
-
iptc_data
-
The data to be written.
-
filename
-
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,
Bei einem Fehler wird false
zurückgegeben.. Otherwise returns true
on success
Bei einem Fehler 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($tag, 2);
$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.