PHP服务器响应于执行

问题描述:

我已经应用是在Java &我已创建该应用程序的&一个批处理文件(.BAT)在PHP这样PHP服务器响应于执行

<?php 
     system ("cmd.exe /c final.bat"); 
    ?> 

的运行它的批处理文件时的android输出是这样的

C:\ wamp \ www \ php> java -jar最密切关联的是... C:\ wamp \ www \ php> pause按任意键继续。 。 。

我通过我的android应用程序调用了这个&想要这个作为响应...你能告诉我如何做到这一点....如果我能够消除响应的提示,这将是非常好的。

查看exec function。它不是自动打印输出,而是以字符串形式返回输出,或者在第二个参数中以可选的行数组形式返回。然后你可以解析这个字符串或数组,只打印你需要的东西。

实施例这将打印所有但输出的第一行:

exec('cmd.exe /c final.bat',$output); 
for($i = 1; $i < count($output); ++$i) echo $output[$i],'<br />'; 
+0

非常感谢你.... – prade 2011-05-12 13:19:05

system返回从命令的输出,所以一个简单的

echo system(...); 

会做的伎俩。为了能够将文本作为输入发送到被调用的命令,您应该使用popen()来代替,它允许您“使用”调用的命令,就好像您在shell /命令提示符下使用它一样。

请注意,system将阻塞,直到外部程序完成。在你的情况下,坐在那里“按任意键继续”,这绝不会发生,你的PHP进程将无限期地停留在那里(或者直到超过max_execution_time,以先到者为准)。

+0

当我说回波系统(CMD)...的输出为如“C:\瓦帕\ WWW \ PHP> Java的罐子最密切的互动是这... C:\ wamp \ www \ php> pause按任意键继续按任意键继续。“....只有最后一行重复.... popen也没有帮助。 。我的问题是只保留我的输出和删除所有其他细节 – prade 2011-05-11 22:55:55