用PHP來執行系統命令


  php的內置函數exec、system都可以調用系統命令(dos和shell命令),passthru和escapeshellcmd也可以。

  使用這兩個函數就需要在php.ini中將安全模式關閉,否則為了安全期間,php是不讓調用系統命令的。

  exec --- 執行外部程式

  語法:string exec (string command [,array &output [,int &return_var]])

  參數:1.command:系統命令;

     2.output:數組,被命令輸出的每一行填滿;

     3.return_var:狀態,成功返回0,失敗返回1.

  system --- 執行外部程式並且顯示輸出

  語法:string system (string command [,int &return_var])

  不同點:

  exec可以把執行的結果全部返回到$output數組里,$return_var是執行狀態,0為成功,1為失敗;

  system不需要提供$output函數,它可以直接把結果返回來並且打印出來,同意$return_var是執行的狀態碼,0為成功,1為失敗。

示例:

<?php
exec("ping www.baidu.com -n 1",$output,$status);
var_dump($output);
var_dump($status);
?>

數組$output打印的結果:

array(9) {
  [0]=>
  string(0) ""
  [1]=>
  string(65) "Pinging www.a.shifen.com [220.181.111.147] with 32 bytes of data:"
  [2]=>
  string(0) ""
  [3]=>
  string(52) "Reply from 220.181.111.147: bytes=32 time=9ms TTL=51"
  [4]=>
  string(0) ""
  [5]=>
  string(36) "Ping statistics for 220.181.111.147:"
  [6]=>
  string(56) "    Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),"
  [7]=>
  string(46) "Approximate round trip times in milli-seconds:"
  [8]=>
  string(47) "    Minimum = 9ms, Maximum = 9ms, Average = 9ms"
}

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM