PHP中调用shell命令的注意事项,感兴趣的朋友可以参考下。
escapeshellarg ( string $arg )
可以用到php的安全中,会过滤掉arg中存在的一些特殊字符。在输入的参数中如果包含中文传递给escapeshellarg,会被过滤掉。
escapeshellcmd ( string $command )
escapeshellcmd()函数会转义命令中的所有shell元字符来完成工作。这些元字符包括:# & ; ` , | * ? ~ < > ^ ( ) [ ] { } $ 。
exec ( string $command [, array &$output [, int &$return_var]] )
执行定义的命令command,如果定义数组output的话就会将输出结果传到output中,执行结果的返回值存储在return_var中。
passthru ( string $command [, int &$return_var] )
与exec和system类似,返回的值是raw data,如二进制数据,比如图片。
shell_exec ( string $cmd )
通过shell执行命令cmd,完整的字符串作为返回值。
system ( string $command [, int &$return_var] )
执行命令command后返回值,如果php运行在server模式下,system会试图自动刷新web服务器的输出缓存。