(PHP 4, PHP 5, PHP 7)
Embeds binary IPTC data into a JPEG image
mixed iptcembed ( string $iptcdata, string $jpeg_file_name [, int $spool = 0 ] )
Embeds binary IPTC data into a JPEG image.
Parameters:
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.
Returns:
If spool
is less than 2, the JPEG will be returned, or FALSE
on failure. Otherwise returns TRUE
on success or FALSE
on failure.
Notes:
This function does not require the GD image library.
Examples:
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); ?>
Please login to continue.