background image

 

 

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

 

  说明 : 
 
  system( )执行给予的命令 command,并且输出结果。如果有给予参数 return_var,则执

 

行命令的状态码将会写到这个变量。
 

 

  注意 : 如果你允许来自使用者输入的资料,可以传递到此函数,那么你应该使用

escapeshellcmd

( )来确定此使用者无法哄骗(trick)系统来执行武断的(arbitrary)

 

命令。

 

 

  注意 : 如果你使用此函数来启动一个程式,而且希望在背景里(background)执行的时
候离开它,你必须确定此程式的输出是转向(redirected)到一个文件或是一些输出的资料流,
否则 PHP 将会悬挂(hang)

 

直到程式执行结束。

 
  如果 PHP 是运作成伺服器模组,在输出每一行后,system( )会试着自动地清除 web

 

伺服器的输出缓冲。
 
  成功则传回命令的最后一行,失败则传回 false  

 
  如果你需要去执行一个命令,并且从命令去取得所有资料时,可以使用

passthru

( )这

 

个函数。
 
  这二个都是用来调用系统 shell

 

命令,

 
  不同点: 
 
  

exec

可以把执行的结果全部返回到

$output

函数里(数组),

$status

 

是执行的状态 0 为成

 

功 1

 

为失败

 
  systerm 不需要提供

$output

函数,他是直接把结果返回出来,同样

$return_var

是执行

 

的状态码 0

 

为成功 1

 

为失败

 

exec

示例: 

 
代码如下:
 
<?php 

$a

 = 

exec

("dir",

$out

,

$status

); 

print_r(

$a

); 

print_r(

$out

); 

print_r(

$status

); 

?>