IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置: 首頁網(wǎng)絡編程PHP編程 → PHP執(zhí)行Linux命令常用的6個函數(shù)

PHP執(zhí)行Linux命令常用的6個函數(shù)

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  一般情況下,很少會用php去執(zhí)行l(wèi)inux命令,不過特殊情況下,你也許會用到這些函數(shù)。以前我知道有二個函數(shù)可以執(zhí)行l(wèi)inux命令,一個是exec,一個是shell_exec。其實有很多的,結(jié)合手冊內(nèi)容,介紹以下6個函數(shù)。

  1,exec函數(shù)

  1. php??? ?
  2. $test?=?"ls?/tmp/test";???//ls是linux下的查目錄,文件的命令??? ?
  3. exec($test,$array);?//執(zhí)行命令??? ?
  4. print_r($array);??? ?
  5. ?>???

  返回結(jié)果如下:

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

  2,system函數(shù)

  1. php??? ?
  2. $test?=?"ls?/tmp/test";??? ?
  3. $last?=?system($test);??? ?
  4. print?"last:?$last\n";??? ?
  5. ?>???

  返回結(jié)果:

  1. [root@krlcgcms01?shell]#?php?system.php??? ?
  2. 1001.log??? ?
  3. 10.log??? ?
  4. 10.tar.gz??? ?
  5. aaa.tar.gz??? ?
  6. mytest??? ?
  7. test1101??? ?
  8. test1102??? ?
  9. weblog_2010_09??? ?
  10. last:weblog_2010_09???

?  3,passthru函數(shù)

  1. php??? ?
  2. $test?=?"ls?/tmp/test";??? ?
  3. passthru($test);??? ?
  4. ?>??

  4,popen函數(shù)

  1. php??? ?
  2. $test?=?"ls?/tmp/test";??? ?
  3. $fp?=?popen($test,"r");??//popen打一個進程通道??? ?
  4. ?? ?
  5. while?(!feof($fp))?{//從通道里面取得東西??? ?
  6. ?$out?=?fgets($fp,?4096);??? ?
  7. ?echo??$out;???//打印出來??? ?
  8. }??? ?
  9. pclose($fp);??? ?
  10. ?>??

  5,proc_open函數(shù)

  1. php??? ?
  2. $test?=?"ls?/tmp/test";??? ?
  3. $arrayarray?=???array(??? ?
  4. ?array("pipe","r"),???//標準輸入??? ?
  5. ?array("pipe","w"),???//標準輸出內(nèi)容??? ?
  6. ?array("pipe","w")????//標準輸出錯誤??? ?
  7. ?);??? ?
  8. ?? ?
  9. $fp?=?proc_open($test,$array,$pipes);???//打開一個進程通道??? ?
  10. echo?stream_get_contents($pipes[1]);????//為什么是$pipes[1],因為1是輸出內(nèi)容??? ?
  11. proc_close($fp);??? ?
  12. ?>???

  6,shell_exec函數(shù)

  1. php??? ?
  2. $test?=?"ls?/tmp/test";??? ?
  3. $out?=?shell_exec($test);??? ?
  4. echo?$out;??? ?
  5. ?>?

  popen,passthru,proc_open,shell_exec的返回結(jié)果如下:

    關鍵詞標簽:PHP,Linux命令

相關閱讀

文章評論
發(fā)表評論

熱門文章 plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法 plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法 2021年最好用的10款php開發(fā)工具推薦 2021年最好用的10款php開發(fā)工具推薦 php利用淘寶IP庫獲取用戶ip地理位置 php利用淘寶IP庫獲取用戶ip地理位置 在 PHP 中使用命令行工具 在 PHP 中使用命令行工具

相關下載

人氣排行 詳解ucenter原理及第三方應用程序整合思路、方法 plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法 PHP中防止SQL注入攻擊 PHP會話Session的具體使用方法解析 PHP運行出現(xiàn)Notice : Use of undefined constant 的解決辦法 PHP如何清空mySQL數(shù)據(jù)庫 CakePHP程序員必須知道的21條技巧 PHP采集圖片實例(PHP采集)