2009-12-11 8 views
0

Ci-dessous est mon code, en donnant le nom de l'outil comme entrée et en appuyant sur submit, le fichier batch correspondant à cet outil doit être exécuté.Exécution d'un fichier batch à l'aide de 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> 

J'utilise Apache/Windows. S'il vous plaît suggérer toute aide sera appréciée.

+2

Quelle est la question ou le problème? Si cela ne fonctionne pas comme prévu, s'il vous plaît dites-nous le résultat attendu, et collez toute sortie pertinente de votre journal des erreurs. –

+0

Le fichier de commandes est vraiment un fichier HTM donc cela se terminera probablement en larmes. Puisque vous importez un simple fichier texte, pourquoi ne pas utiliser "include" à la place? – Tramov

+0

Le fichier de commandes contient des commandes Java qui ne sont pas exécutées. erreur « Exception in thread « main » « #java » est pas reconnu comme une commande interne ou externe, programme exécutable ou un fichier de commandes. « #java » est pas reconnu comme une commande interne ou externe, un programme exécutable ou fichier batch. " – ankit

Répondre

-2

pour autant que je pouvais comprendre votre question, vous pouvez essayer ceci:

system($ToolName); 

Vous pouvez spécifier le chemin correct pour la variable $ ToolName.

1

Comme je l'ai déjà commenté, ce que vous décrivez semble être un problème de votre fichier séquentiel. Mais de toute façon, ce fichier est-il censé faire quelque chose ou produire des choses qui devraient être affichées?

Si le dernier est le cas, notez que exec() renvoie uniquement la dernière ligne de la sortie. Vous pouvez obtenir toute la sortie en fournissant une autre variable pour obtenir toute la sortie. Le php officiel documentation de la fonction exec() vous dit que vous devez faire cela.

Questions connexes