我试图在vs.服务器上使用exiftool (因为它有所有的图像标记和其他工具)。perl模块安装在/bin/exiftool中
test.jpg是同一个目录,具有EXIF数据。
<?php
#!/usr/bin/exiftool
$array = [];
eval(`$array=` . `exiftool -php -q test.jpg`);
print_r($array);
?>不过,$array是空的。我也试过:
eval(`$array=` . `exiftool -php -q test.jpg > output.txt`);这将创建一个空的output.txt文件。
我觉得我有一些基本的错误,但无法解决。喜欢添加,我是在一个共享主机,并有根/命令行访问。
没有最新消息:我还在挣扎。我认为这与cgi / perl有关(或者我对此缺乏了解)
发布于 2021-07-17 10:21:27
您可以为此使用exec()函数:
$exifToolPath = 'cgi-bin/exiftool';
$exifToolParams = '-G';
// Read EXIF from jpg
$img = 'test.jpg';
exec($exifToolPath.' '.$exifToolParams.' '.$img, $data);
var_dump(array_unique($data));
// Read EXIF from NEF
$img = 'test.NEF';
exec($exifToolPath.' '.$exifToolParams.' '.$img, $data);
// Read XMP
$img = 'test.xmp';
exec($exifToolPath.' '.$exifToolParams.' '.$img, $data);
sort($data);
var_dump(array_unique($data));您也可以安装出口工具与作曲家。
发布于 2021-04-01 15:02:14
据我所知,exiftool是一个Perl程序,因此是PHP的外部代码。我认为eval不是运行外部代码的遗嘱认证。试试exec。
达达哈里。
https://stackoverflow.com/questions/58775977
复制相似问题