我有以下问题:
我在一个新继承的项目中从事维护工作。在这个项目中,开发人员通过以下方式处理图像和视频的元数据:
function getRotationFromFile($realPath) {
$retVal = Array();
$cmd = variable_get("exiftool",null) . "\"$realPath\"" . " | grep -E 'Rotation|Camera Identifier'";
exec($cmd, $output);
foreach ($output as $row){
$key = trim(strstr($row, ':', true));
$value = trim(str_replace(": ", "", strstr($row, ': ')));
$retVal[$key] = $value;
}
return $retVal;
}
Run Code Online (Sandbox Code Playgroud)
正如您所读到的,这个函数调用exec(exiftool..)并检索一些元数据。我知道在 php 中存在exif_read_data,它做了同样的事情。
我的问题是:
先感谢您!
小智 5
我创建了一个 PHP 脚本,允许通过 exiftool 非常快速地读取/写入。我们将它与 gearman 一起使用,因此它作为后台服务运行,exiftool 最慢的部分是启动它,然后通过将作业传递给 gearman 从 PHP 脚本中调用它。我们运行该脚本的大约 5 个实例,因此它可以快速提供服务。单个进程应该能够在大约 1-2 秒内处理大约 100 个文件,这当然取决于文件大小和存储速度,但它确实可以很好地扩展。过去 5 个月,它已在我们的数字资产管理平台的生产中使用。
https://github.com/tsmgeek/ExifTool_PHP_Stayopen
| 归档时间: |
|
| 查看次数: |
3560 次 |
| 最近记录: |