0

我正在尝试使用 PHP 执行以下命令。

任何人都有更好的建议或想法为什么它不起作用?

查看错误日志并没有提供任何有用的信息......

命令 :

$pp = shell_exec(find /direcotry/*.jpg -maxdepth 1 -type f -print0 | xargs -0 ls -l | gawk '{sum += $5; n++;} END {print \"Total Size: \" sum/1024/1024 \" MB : Avg Size: \" sum/n/1024 \" KB : Total Files: \" n ;}';

日志 :

[Mon Jan 28 11:08:27 2013] [error] [client X.X.X.X] PHP Parse error:  syntax error, unexpected T_VAR in /var/www/html/report/functions/avgSize.php on line 15
4

2 回答 2

2

您需要报价,但您忘记结束通话:

 $pp = shell_exec("find /direcotry/*.jpg -maxdepth 1 -type f -print0 | xargs -0 ls -l | gawk '{sum += $5; n++;} END {print \"Total Size: \" sum/1024/1024 \" MB : Avg Size: \" sum/n/1024 \" KB : Total Files: \" n ;}");

还要确保执行脚本的用户有权运行查找。

于 2013-01-28T18:16:55.397 回答
1

将您的 find 命令放入一个文件并 chmod +x 。然后打电话

$pp = shell_exec("/PATH_TO_YOUR_FILE/YOUR_FILE");
于 2013-01-28T18:17:11.927 回答