Php/docs/function.iptcembed

来自菜鸟教程
跳转至:导航、​搜索

iptcembed

(PHP 4, PHP 5, PHP 7)

iptcembed将二进制 IPTC 数据嵌入到一幅 JPEG 图像中


说明

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

Embeds binary IPTC data into a JPEG image.


参数

iptcdata
The data to be written.
jpeg_file_name
Path to the JPEG image.
spool
Spool flag. If the spool flag is over 2 then the JPEG will be returned as a string.


返回值

If success and spool flag is lower than 2 then the JPEG will not be returned as a string, false on errors.


范例

Example #1 Embedding IPTC data into a JPEG

<?php// iptc_make_tag() function by Thies C. Arntzenfunction 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';// We need to check if theres any IPTC data in the jpeg image. If there is then // bail out because we cannot embed any image that already has some IPTC data!$image = getimagesize($path, $info);if(isset($info['APP13'])){    die('Error: IPTC data found in source image, cannot continue');}// 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);?>

注释

Note:

此函数不需要 GD 图象库。