您的位置:首页 > 编程语言 > PHP开发

用PHP来执行系统命令

2013-03-01 12:29 141 查看
  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"
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: