首頁 >後端開發 >php教程 >PHP執行linux指令常用函數匯總

PHP執行linux指令常用函數匯總

高洛峰
高洛峰原創
2016-12-21 10:34:421596瀏覽

一般情況下,很少會用php去執行linux指令,不過特殊情況下,你或許會用到這些函數。以前我知道有二個函數可以執行linux指令,一個是exec,一個是shell_exec,透過本文來跟大家介紹PHP執行linux指令常用函數彙總,需要的朋友參考下

一般情況下,很少會用php去執行linux指令,不過特殊情況下,你或許會用到這些函數。以前我知道有二個函數可以執行linux指令,一個是exec,一個是shell_exec。其實有很多的,結合手冊內容,介紹以下6個函數。

1,exec函數

<?php
$test = "ls /tmp/test"; //ls是linux下的查目录,文件的命令
exec($test,$array); //执行命令
print_r($array);
?>

   

回傳結果如下:

[root@krlcgcms01 shell]# php ./exec.php
Array
(
[0] => 1001.log
[1] => 10.log
[2] => 10.tar.gz
[3] => aaa.tar.gz
[4] => mytest
[5] => test1101
[6] => test1102
[7] => weblog_2010_09
)

   

system

2,

<?php
$test = "ls /tmp/test";
$last = system($test);
print "last: $last\n";
?>

   

3,passthru函數

[root@krlcgcms01 shell]# php system.php
1001.log
10.log
10.tar.gz
aaa.tar.gz
mytest
test1101
test1102
weblog_2010_09
last:weblog_2010_09

   

4,popen函數

<?php
$test = "ls /tmp/test";
passthru($test);
?>

   

5,proc_openo

   

popen,passthru,proc_open,shell_exec的回傳結果如下:

<?php
$test = "ls /tmp/test";
$fp = popen($test,"r"); //popen打一个进程通道
 
while (!feof($fp)) { //从通道里面取得东西
$out = fgets($fp, 4096);
echo $out; //打印出来
}
pclose($fp);
?>

   

我能發現的就這幾個函數,能執行linux下的命令,我想應當還有吧,歡迎大家補充。

更多PHP執行linux指令常用函數彙總相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn