PHP執(zhí)行l(wèi)inux命令常用函數(shù)匯總
一般情況下,很少會(huì)用php去執(zhí)行l(wèi)inux命令,不過特殊情況下,你也許會(huì)用到這些函數(shù)。以前我知道有二個(gè)函數(shù)可以執(zhí)行l(wèi)inux命令,一個(gè)是exec,一個(gè)是shell_exec。其實(shí)有很多的,結(jié)合手冊(cè)內(nèi)容,介紹以下6個(gè)函數(shù)。
1,exec函數(shù)
<?php $test = "ls /tmp/test"; //ls是linux下的查目錄,文件的命令 exec($test,$array); //執(zhí)行命令 print_r($array); ?>
返回結(jié)果如下:
[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 )
2,system函數(shù)
<?php $test = "ls /tmp/test"; $last = system($test); print "last: $last\n"; ?>
返回結(jié)果:
[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
3,passthru函數(shù)
<?php $test = "ls /tmp/test"; passthru($test); ?>
4,popen函數(shù)
<?php $test = "ls /tmp/test"; $fp = popen($test,"r"); //popen打一個(gè)進(jìn)程通道 while (!feof($fp)) { //從通道里面取得東西 $out = fgets($fp, 4096); echo $out; //打印出來(lái) } pclose($fp); ?>
5,proc_open函數(shù)
<?php $test = "ls /tmp/test"; $array = array( array("pipe","r"), //標(biāo)準(zhǔn)輸入 array("pipe","w"), //標(biāo)準(zhǔn)輸出內(nèi)容 array("pipe","w") //標(biāo)準(zhǔn)輸出錯(cuò)誤 ); $fp = proc_open($test,$array,$pipes); //打開一個(gè)進(jìn)程通道 echo stream_get_contents($pipes[1]); //為什么是$pipes[1],因?yàn)?是輸出內(nèi)容 proc_close($fp); ?>
6,shell_exec函數(shù)
<?php $test = "ls /tmp/test"; $out = shell_exec($test); echo $out; ?>
popen,passthru,proc_open,shell_exec的返回結(jié)果如下:
[root@krlcgcms01 shell]# php test.php 1001.log 10.log 10.tar.gz aaa.tar.gz mytest test1101 test1102 weblog_2010_09
我能發(fā)現(xiàn)的就這幾個(gè)函數(shù),能執(zhí)行l(wèi)inux下的命令,我想應(yīng)當(dāng)還有吧,歡迎大家補(bǔ)充。
- 如何使用Linux的Crontab定時(shí)執(zhí)行PHP腳本的方法
- linux使用crontab實(shí)現(xiàn)PHP執(zhí)行計(jì)劃定時(shí)任務(wù)
- php守護(hù)進(jìn)程 加linux命令nohup實(shí)現(xiàn)任務(wù)每秒執(zhí)行一次
- linux實(shí)現(xiàn)php定時(shí)執(zhí)行cron任務(wù)詳解
- PHP在linux上執(zhí)行外部命令的方法
- linux下實(shí)現(xiàn)定時(shí)執(zhí)行php腳本
- linux系統(tǒng)下定時(shí)執(zhí)行php腳本的方法
- PHP調(diào)用Linux的命令行執(zhí)行文件壓縮命令
- PHP執(zhí)行l(wèi)inux系統(tǒng)命令的常用函數(shù)使用說明
- php中如何執(zhí)行l(wèi)inux命令詳解
相關(guān)文章
使用ThinkPHP的自動(dòng)完成實(shí)現(xiàn)無(wú)限級(jí)分類實(shí)例詳解
這篇文章主要介紹了使用ThinkPHP的自動(dòng)完成實(shí)現(xiàn)無(wú)限級(jí)分類功能,本文通過圖文并茂的方式給大家展示,介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-09-09discuz 首頁(yè)四格:最新話題+最新回復(fù)+熱門話題+精華文章插件
discuz 首頁(yè)四格:最新話題+最新回復(fù)+熱門話題+精華文章插件...2007-08-08thinkphp3.2框架集成QRcode生成二維碼的方法分析
這篇文章主要介紹了thinkphp3.2框架集成QRcode生成二維碼的方法,結(jié)合實(shí)例形式分析了QRcode的下載、擴(kuò)展以及thinkphp3.2使用QRcode生成二維碼的相關(guān)操作技巧,需要的朋友可以參考下2020-03-03ThinkPHP的模版中調(diào)用session數(shù)據(jù)的方法
這篇文章主要介紹了ThinkPHP的模版中調(diào)用session數(shù)據(jù)的方法,需要的朋友可以參考下2014-07-07Yii2框架數(shù)據(jù)庫(kù)簡(jiǎn)單的增刪改查語(yǔ)法小結(jié)
這篇文章主要介紹了Yii2框架數(shù)據(jù)庫(kù)簡(jiǎn)單的增刪改查語(yǔ)法小結(jié),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08純真IP數(shù)據(jù)庫(kù)的應(yīng)用 IP地址轉(zhuǎn)化成十進(jìn)制
由于純真數(shù)據(jù)庫(kù)中的IP數(shù)據(jù)是和普通IP不同的,所以要轉(zhuǎn)化后才能比對(duì)2009-06-06laravel實(shí)現(xiàn)圖片上傳預(yù)覽,及編輯時(shí)可更換圖片,并實(shí)時(shí)變化的例子
今天小編就為大家分享一篇laravel實(shí)現(xiàn)圖片上傳預(yù)覽,及編輯時(shí)可更換圖片,并實(shí)時(shí)變化的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-11-11Windows7下PHP開發(fā)環(huán)境安裝配置圖文方法
備花點(diǎn)時(shí)間學(xué)習(xí)下PHP,于是在自己機(jī)器上配置了下PHP的開發(fā)和運(yùn)行環(huán)境。之前在Windows Server 2003 OS中手工配置過,WEB服務(wù)器是IIS。這次是在自己機(jī)器上配置,找了個(gè)簡(jiǎn)單方式。2010-05-05