用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