2009-07-18 35 views
4

我需要在php脚本中运行.cmd批处理文件。如何在PHP中运行.cmd文件并显示结果

PHP将通过浏览器中经过身份验证的会话进行访问。

当我从服务器的桌面运行.cmd文件时,它将一些输出吐出到cmd.exe。

我想将这个输出路由回php页面。

这是可行的吗?

+0

[再次添加注释,因为链接是borked]不会在反引号中包含.cmd文件,就像这里的.bat文件的例子一样吗? http://www.php.net/manual/pl/language.operators.execution.php – sigint 2009-07-18 02:39:52

回答

4

是的,它是可行的。您可以使用

exec("mycommand.cmd", &$outputArray); 

和打印数组的内容:

echo implode("\n", $outputArray); 

look here for more info

2
$result = `whatever.cmd`; 
print $result; // Prints the result of running "whatever.cmd" 
1

使用PHP的popen()函数

2

我更喜欢使用popen对于这样的任务。特别是对于长时间运行的命令,因为您可以一行一行地提取输出并将其发送给浏览器,所以减少超时的机会。这里有一个例子:

$p = popen('script.cmd', 'r'); 
if ($p) 
{ 
    while (!feof($p)) 
     echo gets($p); // get output line-by-line 
    pclose($p); 
} 
相关问题