【问题标题】:Add metadata to PNG image using PHP使用 PHP 将元数据添加到 PNG 图像
【发布时间】:2016-03-10 10:01:11
【问题描述】:

有没有办法使用 php 将元数据(例如关键字)添加到几个 png 图像?我已经将图像存储在我的数据库中,并且我想对它们相应的关键字做同样的事情,但是我还没有找到任何有用的使用 php 的建议。谢谢

image.php

<!DOCTYPE html>
<html lang="en">
<head>
	<title>Upload Images</title>
</head>
 <body>
	<form action="tags.php" method="POST" enctype="multipart/form-data" >
		<p>Select Image (one or multiple):</p>
		<input type="hidden" name="MAX_FILE_SIZE" value="536870912"/>
		<input type="file" name="image[]" accept="image/png" accept="image/jpg" accept="image/jpeg" accept="image/gif" multiple="multiple" />
		<input type="submit" value="Upload file" name="submit" />

	</form>
 </body>
</html>

tags.php(猛禽的回答)

<?php
include('../config.php');

$image = new Imagick();
$image->readImage("C:/xampp/htdocs/cmanager/uploads");
$image->setImageProperty('keywords', 'Imagick');

print($image->getImageProperty('keywords'));

【问题讨论】:

    标签: php database image png metadata


    【解决方案1】:

    您需要 ImageMagick 的 setImageProperty() 帮助来实现您的目标。

    <?php
    $image = new Imagick();
    $image->newImage(300, 200, "black"); // or load your PNG into Imagick
    
    $image->setImageProperty('keywords', 'Imagick');
    echo $image->getImageProperty('keywords');
    ?>
    

    要求 PHP 针对 ImageMagick 6.3.2+ 进行编译。

    或者,您可以使用here 显示的代码解析 PNG 的元数据。试试看。

    最后,如果您打算改为编辑 EXIF 数据,可以使用EXIF functions

    【讨论】:

    • 感谢您对猛禽的建议。如何针对 ImageMagick 6.3.2+ 编译 PHP?
    • 可以找到安装说明here
    • 我按照 Windows 安装说明进行操作,每次运行上述代码时,都会收到一条消息“找不到 Class 'Imagick'”。我也跟着这个 [stackoverflow.com/a/20599861/5945369],但仍然是同样的问题。您对如何解决此问题有任何想法吗?
    • 您是否重新启动了您的网络服务器?您可以随时通过phpinfo()检查ImageMagick是否已安装和启用
    • 是的,它现在可以工作了,但我有两个问题:我希望它从存储的目录中选择一张图片,而不是添加一张新图片。所以我尝试了$image-&gt;readImage("C:/xampp/htdocs/cmanager/uploads");,而不是$image -&gt;newImage(300, 200, "black");,但没有运气。看来每次运行代码都得选择一张具体的图片,这没有任何意义。另外,我不确定 Imagick 究竟能提供什么帮助以及它会打印关于标签的内容。
    【解决方案2】:

    另外,您可以set PNG metadata in pure PHP(示例是关于如何设置 pHYs 块)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-02
      • 2015-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多