php - 哪些图像格式包含元数据,我如何在 PHP 中清除它?

标签 php image metadata

隐私问题让我相信我应该清除用户上传的图像中的任何元数据。

我知道 JPEG 有 EXIF ,但我不确定 PNG 或 GIF(两者都可以从公众上传到我的网站)。

这些格式是否也有元数据,它是如何存储的?删除它的最佳方法是什么?

我使用的是 PHP 5.29。

谢谢

最佳答案

你可以试试http://www.php.net/manual/en/imagick.stripimage.php

$f = '16262403.jpg';
$i = new Imagick($f);
$p = $i->getImageProperties();
var_dump($p);
array(5) {
  ["comment"]=>
  string(20) "(C) Drom.ru #4495317"
  ["date:create"]=>
  string(25) "2012-05-29T17:15:32+03:00"
  ["date:modify"]=>
  string(25) "2012-05-29T17:15:30+03:00"
  ["jpeg:colorspace"]=>
  string(1) "2"
  ["jpeg:sampling-factor"]=>
  string(11) "2x2,1x1,1x1"
}

$i->stripImage();

$p = $i->getImageProperties();
var_dump($p);
array(2) {
  ["jpeg:colorspace"]=>
  string(1) "2"
  ["jpeg:sampling-factor"]=>
  string(11) "2x2,1x1,1x1"
}

关于php - 哪些图像格式包含元数据,我如何在 PHP 中清除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3645451/

相关文章:

php fopen 无法在 Mac OS X 中打开文件进行写入

php - MySql:任何方式: UPDATE $tableName SET value=LEAST(value+$change, maxValue)

iphone - 具有核心显卡的图像效果

javascript - 当我将鼠标悬停在图像上时,我希望激活叠加悬停效果

ios - 元数据被拒绝,我需要再次输入 "Submit for Review"吗?

php - 如何在 Magento SOAP 中使用两个日期范围过滤器

php - 来自聊天框的 <title> 中的网络通知

javascript - 如何在手机上下载图片并上传到我的服务器?

.net - 为什么 .NET 中的泛型类型在 TypeDef 中有一个条目而在 TypeSpec 中有另一个开放类型条目?

clojure - 如何检查 Clojure 值是否支持元数据?