2009-12-11 289 views
0

下面是我的一段代碼,在給出工具名稱作爲輸入並按下提交時,應執行與該工具相對應的批處理文件。使用php運行批處理文件

<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

問題或問題是什麼?如果這不符合預期,請告訴我們預期的結果,並粘貼錯誤日誌中的任何相關輸出。 – 2009-12-11 11:04:26

+0

該批處理文件實際上是HTM文件,所以這可能會流淚。 由於您正在導入一個簡單的文本文件,爲什麼不使用「include」呢? – Tramov 2009-12-11 11:10:14

+0

批處理文件包含一些未執行的Java命令。 錯誤 「線程異常」主「#java」未被識別爲內部或外部命令, 可操作程序或批處理文件。 '#java'未被識別爲內部或外部命令, 可操作程序或批處理文件「。 – ankit 2009-12-11 11:19:02

回答

-2

至於我能理解你的問題,你可以試試這個:

system($ToolName); 

您可能要指定$工具名稱變量正確的路徑。

1

正如我已經評論過的,你所描述的似乎是你的批處理文件的一個問題。但無論如何,這個文件應該是做什麼或輸出應該顯示的東西嗎?

如果後面是這種情況,請注意exec()只返回輸出的最後一行。你可以讓所有的輸出提供另一個變量來獲得所有的輸出。 exec()函數的官方php documentation告訴你必須這樣做。