WEB开发网
开发学院WEB开发PHP php中调用外部命令函数system,exec,passthru,esca... 阅读

php中调用外部命令函数system,exec,passthru,escapeshellcmd,shell_exec区别与用法

 2010-10-07 17:04:58 来源:WEB开发网   
核心提示: $results = shell_exec('wc -w *.txt'); echo $results; ?> 注意,仅使用后撇号操作符也会得到相同的结果,php中调用外部命令函数system,exec,passthru,escapeshellcmd,shell_exec区别与用法(2),如

$results = shell_exec('wc -w *.txt'); 
echo $results; 
?>
注意,仅使用后撇号操作符也会得到相同的结果,如下所示。

清单 3. 仅使用后撇号操作符

<?php
$results = `wc -w *.txt`; 
echo $results; 
?>
清单 4. 更加简单的方法

<?php
echo `wc -w *.txt`; 
?>
通过 UNIX 命令行和 shell 脚本能够完成很多东西,知道这点很重要。例如,您可以使用竖线将命令连接起来。您甚至可以使用操作符在其中创建 shell 脚本,并且仅调用 shell 脚本(根据需要使用或不使用参数)。例如,如果您仅希望计算该目录下的前 5 个文本文件的单词数,那么可以使用竖线 (|) 将 wc 和 head 命令连接起来。另外,您还可以将输出结果放到 pre 标记内部,让它能够更美观地呈现在 Web 浏览器中,如下所示。

清单 5. 更加复杂的 shell 命令

<?php
$results = shell_exec('wc -w *.txt | head -5'); 
echo "<pre>".$results . "</pre>"; 
?>

scapeshellcmd()
原型:string escapeshellcmd(string command)
本函数除去了字符串中的特殊符号,可以防止使用者耍花招来破解该服务器系统。可以用本函数搭配 exec() 或是 system() 二个函数,酱子可以减少网络上的使用者恶意的破晃募?机会。

使用范例
<?php
system(EscapeShellCmd($cmdline));
?>

上一页  1 2 

Tags:system exec passthru escapeshellcmd shell_exec

编辑录入:coldstar [复制链接] [打 印]
赞助商链接