Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:基本exiftool用法_Php_Exiftool - Fatal编程技术网

PHP:基本exiftool用法

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文件 我觉得我有一些非常基本的错误,但无法解决它。要

我正在尝试在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文件

我觉得我有一些非常基本的错误,但无法解决它。要补充的是,我在共享主机上,具有根/命令行访问权限



没有更新:我仍在挣扎。我认为这与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`);