PHP作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任。但事情不总是如此,有时为了实现某个功能,必须借助于操作系统的外部程序(或者称之为命令),这样可以做到事半功倍。
区别:
system() 输出并返回最后一行shell结果。(推荐学习:web前端视频教程)
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
如何用php启动exe程序,并在进程中查看?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
function query_process($service)
{
/*
**查看WINDOWS系统进程列表,并查找指定进程是否存在
*/
$tasklist = $_SERVER["WINDIR"]."/system32/tasklist.exe"; //找到windows系统下tasklist的路径
//print($tasklist); //打印tasklist的路径
@exec($tasklist,$arr); //运行tasklist.exe,返回一个数组$arr
//print_r($arr); //打印数组
//用循环打印进程列表
foreach($arr as $value)
{
$list = explode(" ",$value);
print($list[0].'< br />');
//查找指定进程并打印
if($service==$list[0])
{
return true;
}
}
return false;
}
|
上面的代码主要是启动了任务管理器,然后根据返回的数据判断是否启动了所要判断是否运行的程序。
启动程序的代码:
1
2
3
4
5
6
7
8
9
|
<? php
$ out1 = "" ;
$ a = exec ("e:\my.exe",$out1);
//如果程序的名字为汉字,便启动不了
//$ a = exec ("D:\soft\坐标正反算.exe",$out1);
print_r($out1);
echo '<br/>';
print_r($a);
|
如何是想运行带有汉字名称的程序,则需要借助iconv()函数,便可以运行带有汉字名称的程序了。
1
2
3
4
5
6
7
8
|
<? php
$ out1 = "" ;
exec(iconv ( 'UTF-8', 'GBK', 'D:\soft\坐标正反算.exe' ),$out1);
print_r("out is:".$out1);
echo '<br/>';
print_r($a);
|
以上就是php怎么启动exe文件的详细内容,更多请关注php中文网其它相关文章!