PHP作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任。但事情不总是如此,有时为了实现某个功能,必须借助于操作系统的外部程序(或者称之为命令),这样可以做到事半功倍。
区别:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
如何用php启动exe程序,并在进程中查看?(推荐学习:PHP视频教程)
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; }
上面的代码主要是启动了任务管理器,然后根据返回的数据判断是否启动了所要判断是否运行的程序。
启动程序的代码:
<?php $out1 = ""; $a=exec ("e:\\my.exe",$out1); //如果程序的名字为汉字,便启动不了 //$a=exec("D:\\soft\\坐标正反算.exe",$out1); print_r($out1); echo '<br/>'; print_r($a);
如何是想运行带有汉字名称的程序,则需要借助iconv()函数,便可以运行带有汉字名称的程序了。
<?php $out1 = ""; exec(iconv ( 'UTF-8', 'GBK', 'D:\\soft\\坐标正反算.exe' ),$out1); print_r("out is:".$out1); echo '<br/>'; print_r($a);
Das obige ist der detaillierte Inhalt vonSo starten Sie eine Exe-Datei in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!