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);
以上就是php怎么启动exe文件的详细内容。
   
 
   