PHP iptcembed 图像GD库函数

  • 定义和用法

    iptcembed - 将二进制 IPTC 数据嵌入到一幅 JPEG 图像中
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 支持 支持
    注意: 此函数不需要 GD 图象库。
  • 语法

    iptcembed ( string $iptcdata , string $jpeg_file_name [, int $spool ] )
    
    iptcembed() 将二进制IPTC数据嵌入到JPEG图像中。
  • 参数

    参数 必需的 描述
    iptcdata 要写入的数据。
    jpeg_file_name JPEG图像的路径。
    spool 线轴标志。 如果假脱机标志超过2,则JPEG将作为字符串返回。
  • 返回值

    如果成功和假脱机标志小于2,则JPEG将不会作为字符串返回,如果出错则返回FALSE。
  • 示例

    // 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';
    
    // 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);
    
  • 相关函数

    image2wbmp() - 以 WBMP 格式将图像输出到浏览器或文件
    imagepng() - 以 PNG 格式将图像输出到浏览器或文件
    imagegif() - 输出图象到浏览器或文件。
    imagejpeg() - 输出图象到浏览器或文件。
    imagetypes() - 返回当前 PHP 版本所支持的图像类型