php - 如何在 PHP 中删除 EXIF(图像文件)数据?
问题描述
我已经安装了 imagick 库并使用以下命令进行了检查:
php -m | grep imagick
. 这是工作。但是当我提到相同的参考时,它给了我空白数组。
这是我的代码:
error_reporting(E_ALL);
$incoming_file = '/var/www/html/demos/exif/tim.jpg';
$img = new Imagick(realpath($incoming_file));
$profiles = $img->getImageProfiles("icc", true);
echo '<pre>';
print_r($profiles);
当我尝试打印时,$profiles
没有返回任何内容。它给了我一个空数组。
解决方案
这将在 PHP 中显示来自 JPEG 文件的 EXIF 信息。尝试使用相对路径并检查脚本是否可以从此目录读取(权限)。
$uploadfile = "uploaded/pic.jpg";
$exif = exif_read_data($uploadfile, 0, true);
echo "<b>Your file</b><br />\n";
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val<br />\n";
}
}
而这段代码应该会删除所有的EXIF信息
$img = new Imagick($uploadfile);
$img->stripImage();
$img->writeImage($uploadfile);
你可以在这里试试: https ://iconnaut.com/exif.php
推荐阅读
- c - 为什么我的数组被转置了?
- crystal-reports - “更改开”中有两个值的条形图,跳过值为 0 的条形图
- gatsby - gatsby-image:childImageSharp 与 imageSharp 之间的区别
- css - IE11 中的模糊效果以创建磨砂玻璃
- java - MockMVC 测试 java.lang.AssertionError:预期状态:201 实际:404
- javascript - 使用层次结构 css(没有 id/类)和 javascript 获取 td 表的值
- css - 如何通过 CSS 去除色带边框?
- python - 如何使用需要用户定义类型表参数的 SQLAlchemy 调用存储过程
- selenium - 如何让 Selenium Webdriver 以不同的用户身份在 Firefox 浏览器上运行?
- shell - 如何修复 bash 脚本参数从并行循环到顺序循环