2011-09-15 9 views
0

Je dois exécuter un script .bat depuis PHP. Le script .bat doit contenir des noms de fichiers qui sont des variables PHP. Comment ferais-je cela en PHP?php - transmet les variables à windows .bat script?

Merci!

+0

Ainsi, appeler PHP un .bat, qui appelle les fichiers PHP? –

+0

Le fichier .bat exécute l'encodeur audio LAME. PHP contient des variables (les noms de fichier audio) qui doivent être entrées dans le fichier .bat. – user547794

+0

Ensuite, mon édition devrait fonctionner pour vous. –

Répondre

0

Passer une variable d'un langage de programmation à un autre? Il n'y a pas, jusqu'à ce que la langue prend en charge argument spécifié, s'il y a certains (et il y a), utiliser (passer des variables par l'argument)

1

Utilisez fopen(), fwrite() et fclose() pour créer le fichier .bat, puis utilisez shell_exec() à l'exécuter. Voir ici:

fopen: http://us3.php.net/manual/en/function.fopen.php

fwrite: http://us3.php.net/manual/en/function.fwrite.php

fclose: http://us3.php.net/manual/en/function.fclose.php

shell_exec: http://php.net/manual/en/function.shell-exec.php

=============== ============================================= ================

EDIT: Ou, si c'est toujours le même nombre de variables php qui sont passées et qu'elles sont scalaires, vous pouvez juste créer un fichier .bat qui accepte les paramètres de ligne de commande, puis passer les variables scalaires dans votre shell_exec.

+0

Cool - ça allait être plan B. Est-ce que ça va stocker un fichier batch sur mon répertoire serveur pour chaque téléchargement de fichier? – user547794

+0

Vérifier mes modifications. :) –

0

Si votre fichier de chauve-souris est en train de prendre le nom d'un fichier et certains paramètres de base, alors que vous venez de shell_exec() avec les paramètres appropriés remplis.

lot params de ligne de commande de fichiers sont référencés% 1% 2, etc. . si votre fichier de commandes est foo.bat et il contient:

notepad.exe %1

vous pouvez appeler foo.bat textfile.txt de la ligne de commande.

Pour l'exécuter à partir de php, vous construisez votre ligne de commande comme une chaîne, puis appelez shell_exec utiliser

Questions connexes