Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1233473
  • 博文数量: 135
  • 博客积分: 10576
  • 博客等级: 上将
  • 技术积分: 1670
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-11 20:49
个人简介

不疯魔,不成活! --疯魔老杨(Crazy.LaoYang) http://www.inotes.cn/

文章分类

全部博文(135)

文章存档

2014年(4)

2012年(13)

2011年(5)

2010年(30)

2009年(56)

2008年(27)

分类:

2010-04-09 15:42:40

PHP执行系统外部命令
(杨志刚博客 http://yangzhigang.cublog.cn

有时为了实现某些功能,要用到操作系统的命令,PHP中调用系统命令方法:
(PHP有4个专门的函数可以执行系统的命令,分别为:shell_exe(),system(),exec(),passthru() )
1)shell_exec()
  shell_exec()实际上仅是反撇号(`)操作符的变体。没有输出,可以通过赋值给变量来显示结果。
  如:
 
    $result = shell_exe("pwd");
    echo $result;
  ?>
  也可以用以下方式:
 
    $result = `pwd`;
    echo $result;
  ?>
  或
 
    echo `pwd`;
  ?>
2)system()
  string system(string command [,int return_var])
  用此函数执行系统命令,输出的返回结果。第二个参数是可选的,用来得到命令执行返回状态码。
如:
 system("pwd");
?>
 
3)exec()
string exec(string command [,string array [,int return_var]])
用此功能执行系统命令,但不输出出结果,可以用第二个参数array来得到完整的结果,是将结果追加到array后,所以如array不是空的,在调用之前最好用unset()将其清掉,定义了第二个参数时,可以再可定义第三个参数,用于取得命令执行的状态码。
如:
exec("/bin/ls -l",$result,$rcode);
echo "array1:".$result[1];
echo $rcode;
?>
 
4)passthru()
void passthru(string command[,int return_var])
passthru()只调用命令,不返回任何结果,但把命令的运行结果原样地直接输出到标准输出设备上。
如:
header("Content-type:image/gif");
passthru("/usr/bin/ppm2tiff  /usr/share/tk8.4/demos/images/teapot.ppm");
?>
 
 
阅读(1532) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~