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));
?>
Tags:system exec passthru escapeshellcmd shell_exec
编辑录入:coldstar [复制链接] [打 印]- ››SYSTEM用户删除后怎么重新创建和原来SYSTEM默认一...
- ››System Center 2012 - Unified Installer的系统要...
- ››System.Data.OleDb.OleDbException: Unspecified...
- ››System.Data.SQLite 数据库介绍
- ››SystemServer中启动的android服务
- ››System z 的复兴:大型机并未消亡 - 它正转向数据...
- ››System p 中的虚拟化
- ››exec 方法
- ››Execl中解决不能输入小数点问题
- ››systemparametersinfo详细用法
- ››Execel文件插入到ASP页面
更多精彩
赞助商链接