PHP:基本exiftool用法
我正在尝试在Web服务器上使用exiftool(因为它拥有所有图像标记和其他工具)。perl模块安装在/bin/exiftool中 test.jpg是同一个目录,具有EXIF数据PHP:基本exiftool用法,php,exiftool,Php,Exiftool,我正在尝试在Web服务器上使用exiftool(因为它拥有所有图像标记和其他工具)。perl模块安装在/bin/exiftool中 test.jpg是同一个目录,具有EXIF数据 <?php #!/usr/bin/exiftool $array = []; eval(`$array=` . `exiftool -php -q test.jpg`); print_r($array); ?> 这将创建一个空的output.txt文件 我觉得我有一些非常基本的错误,但无法解决它。要
<?php
#!/usr/bin/exiftool
$array = [];
eval(`$array=` . `exiftool -php -q test.jpg`);
print_r($array);
?>
这将创建一个空的output.txt文件
我觉得我有一些非常基本的错误,但无法解决它。要补充的是,我在共享主机上,具有根/命令行访问权限
没有更新:我仍在挣扎。我认为这与cgi/perl有关(或者说我对它缺乏了解)据我所知,
exiftool
是一个perl程序,因此是PHP的外部代码。我认为eval
不是运行外部代码的遗嘱认证。尝试执行exec
Datahardy。在共享主机上,是否启用了供您使用的
eval()?它通常是禁用的。错误日志中有错误输出吗?老实说,我不会对php输出数组使用eval()
方法。相反,我可能会对json输出使用`exiftool-json…`
,然后用json_decode()
加载它。在PHP中执行带反勾号的shell命令时,建议使用完整路径/bin/exiftool
,因为您不能依赖它来获得一个正常的$path
@Michael,eval()
工作,我试过:eval(“echo'helloworld!”;”代码>。我知道,json更优雅,但目前我只在测试服务器上。添加路径并不能使其工作。与其说eval()
不雅观,不如说当您无法控制代码生成和使用的两端时,它会带来风险。(exiftool可能值得信赖)谢谢,我的问题并不是关于eval()
。
eval(`$array=` . `exiftool -php -q test.jpg > output.txt`);