PHP 调用shell命令
可以使用的命令:
popen
fpassthru
shell_exec
exec
system
1.popen
resource popen
( string command, string mode )
打开一个指向进程的管道,该进程由派生给定的 command
命令执行而产生。
返回一个和 fopen()
所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose()
来关闭。此指针可以用于 fgets()
,fgetss()
和 fwrite()
。
如果出错返回 FALSE
。
2.shell_exec
string shell_exec
( string cmd )
执行cmd命令,命令的结果存在返回结果中;
本函数在安全模式
下被禁用。
3.exec
string exec
( string command [, array &output [, int &return_var]] )
参数:
command
将要执行的命令
output
如果指定了output参数,则对应的array数组将会填满该命令输出的每一行。
return_var
如果指定了return_var参数,注意,return_var参数只有output参数被设定后才能指定,那么该命令的执行状态将会以结果参数的形式返回给该变量。
返回值:
返回改名了的最后一行结果。
范例
例子 1. An exec() example
[root@south4 demo]# vi test.php
#!/usr/bin/php -q
<?php
exec('ls /etc',$results,$ret);
echo $results[5] . "\n";
echo $results[12]. "\n";
echo $results[3]. "\n";
echo $ret;
?>
[root@south4 demo]# ./test.php
aliases
audit
adjtime
0
4.system
string system
( string command [, int &return_var] )
system是开一个bash进程的,执行完毕之后,就会释放,如下就会达不到目的:
system("cd /home/y/share/NBHadoop/scripts");
system("sudo -u yahoo ./nb_halfhourly.sh $yes_halfHour");
可以写成:
system("cd /home/y/share/NBHadoop/scripts;sudo -u yahoo ./nb_halfhourly.sh $yes_halfHour");
相关文档:
一 设计工具
UML 和相关设计工具
- Argo UML
UML绘图工具,支持PHP stub生成。 (commercial spin off is Posideon) –Java编写。
- Umbrello UML
UML绘图工具,支持PHP stub生成。 需要Unix / KDE。
- Dia
支持UML 的绘图工具 -使用AutoDia 生成PHP。
- XMI 2 PHP
从XMI文档生成PHP代码,用XML描述U ......
PHP中设计模式的学习笔记
设计模式(Design Pattern)是面向对象设计中反复出现的问题的解决方案,设计模式是一种比一般类的设计更加抽象的一种思想,
它往往涉及到多个类的定义和使用。
在PHP的开发过程中,经常使用到得设计模式包括:简单工厂模式、单元素模式、观察者模式、命令模式、策略模式以及MVC模式等。
/ ......
今天2010-02-26,开始我的php学习之路,
计划在未来的一段时间内,用足够多的时间和精力来学习了解php。
做到精通理解还有就是自己独立的开发出一系列的网站,作为对自己学习的检验。
做好技术总结和技术内核理解 ......
<?php
function make_rand($length="32"){//验证码文字生成函数
$str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
$result="";
for($i=0;$i<$length;$i++){
$num[$i]=rand(0,61);
$result.=$str[$num[$i]];
}
return $result;
} ......
最近用win7了,弄了个激活码,也不知道能用到什么时候,心里多少是有点忧虑的,没个底,管他的呢,现在能用就先用着,以前也没玩怎么过Vista,不过感觉win7界面上还是有点像Vista的,有些功能上也差不多,不过感觉用这个win7还真不错,我也只是相对XP的感觉,当然了,win7的硬盘空间倒是占用了不老少我19G的C盘装完后就还剩 ......