使用php运行批处理文件

时间:2009-12-11 10:55:05

标签: php batch-file

下面是我的一段代码,在给出工具名称作为输入并按下提交时,将执行与该工具对应的批处理文件。

<html> 
   <head> 
     <title>My Form</title> 
   </head> 
 <body> 
 <form action="batch.php" method=post> 

 Which tool you would like to use:
 <br> <input type="text" name="ToolName"> 
 <p> 
 <input type="submit" name="submit" value="Please wait!">
 </form>
 </body>
 </html>

BATCH.php

<html>
<head>
<title>Perv!</title>
</head>

<?php
$ToolName = $_REQUEST['ToolName'] ; 
?>
<p>
Hi <?php print $ToolName; 
//exec("cmd/c D:\workspace\execute.bat");
exec("C:\\wamp\\www\\test.bat");
//system("test.bat");
//system("cmd /c D:\\workspace\\execute.bat");
?>
</body>
</html>

我正在使用Apache / Windows。 请建议任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

正如我已经评论过的,您描述的内容似乎是批处理文件的问题。但无论如何,这个文件应该只是做某事还是输出应该显示的内容?

如果是后一种情况,请注意exec()仅返回输出的最后一行。你可以得到所有输出提供另一个变量来获得所有输出。 exec()函数的官方php documentation告诉你必须这样做。

答案 1 :(得分:-2)

据我所知,你可以试试这个:

system($ToolName);

您可能需要为 $ ToolName 变量指定正确的路径。