一般情况下,很少会用php去执行linux命令,不过特殊情况下,你也许会用到这些函数。以前我知道有二个函数可以执行linux命令,一个是exec,一个是shell_exec。其实有很多的,结合手册内容,介绍以下6个函数。
1,exec函数
<?php??? ?
$test?=?"ls?/tmp/test";???//ls是linux下的查目录,文件的命令??? ?
exec($test,$array);???????//执行命令??? ?
print_r($array);??? ?
?>???
2,system函数
<?php??? ?
$test?=?"ls?/tmp/test";??? ?
$last?=?system($test);??? ?
print?"last:?$last\n";??? ?
?>???
3,passthru函数
<?php??? ?
$test?=?"ls?/tmp/test";??? ?
passthru($test);??? ?
?>??
4,popen函数
<?php??? ?
$test?=?"ls?/tmp/test";??? ?
$fp?=?popen($test,"r");??//popen打一个进程通道??? ?
?? ?
while?(!feof($fp))?{??????//从通道里面取得东西??? ?
?$out?=?fgets($fp,?4096);??? ?
?echo??$out;?????????//打印出来??? ?
}??? ?
pclose($fp);??? ?
?>??
5,proc_open函数
<?php??? ?
$test?=?"ls?/tmp/test";??? ?
$arrayarray?=???array(??? ?
?array("pipe","r"),???//标准输入??? ?
?array("pipe","w"),???//标准输出内容??? ?
?array("pipe","w")????//标准输出错误??? ?
?);??? ?
?? ?
$fp?=?proc_open($test,$array,$pipes);???//打开一个进程通道??? ?
echo?stream_get_contents($pipes[1]);????//为什么是$pipes[1],因为1是输出内容??? ?
proc_close($fp);??? ?
?>??
6,shell_exec函数
<?php??? ?
$test?=?"ls?/tmp/test";??? ?
$out?=?shell_exec($test);??? ?
echo?$out;??? ?
?>?
相关笔记
评论