Executer un programme externe sous Windows

Executer un programme externe sous Windows - PHP - Programmation

Marsh Posté le 26-01-2006 à 23:05:31    

Bon, en gros, je me suis fait un mini explorateur de fichier en PHP.
Je souhaiterais savoir comment lancer un programme et lui donner des arguments.
 
Mais commençons pas le commencement. J'ai fait un petit fichier voir.php pour les avi et je souhaiterais qu'il lance Media Player Classic.
 
J'ai donc fait tout bêtement :

Code :
  1. <?php
  2. $prog='R:\Program Files\Media Player Classic\mplayerc_fr.exe';
  3. if (file_exists($prog)) { echo 'Media Player Classic a été trouvé'; }
  4. else { 'Houlà, Media Player Classic introuvable'; }
  5. exec ('R:\Program Files\Media Player Classic\mplayerc_fr.exe');
  6. ?>


 
On verra après pour lui passer un nom de fichier en paramètres, déjà, j'aimerais qu'il se lance. :D
 
Seulement voilà, bien entendu, ça ne fonctionne pas.
J'ai beau lire les docs, je ne trouve pas d'exemple sous Windows.
 
Pour info si ça peut aider, j'ai installer wampserver sur ce PC et donc bien sûr, c'est en local et le script PHP est exécuter sur le même poste. D'ailleurs, dans le test, la fonctionne file_exists me retourne bien qu'il a été trouvé.
 
Merci d'avance.


Message édité par The-Shadow le 26-01-2006 à 23:06:44
Reply

Marsh Posté le 26-01-2006 à 23:05:31   

Reply

Marsh Posté le 26-01-2006 à 23:27:34    

\\ pour faire un \ dans une chaine de caractere :s
 
Un echo peut-etre dans le else ?
 
EDIT : en fait je suis faitgué :s
 
EDIT : fatigué !! faitgué ca veut rien dire sinon :s


Message édité par afbilou le 26-01-2006 à 23:30:43
Reply

Marsh Posté le 26-01-2006 à 23:47:11    

Nop, effectivement pour le \\ et \, j'avais zappé. Quoiqu'il me trouve quand même mon fichier.
Cela dit, ça ne fonctionne pas mieux.
 
En fait, je me demande même si c'est possible. :D

Reply

Marsh Posté le 27-01-2006 à 00:35:06    

vérifie le status de l'exécution du programme externe : rajotues deux autres paramettres, dans le troisiéme, t'auras le status en question.
N'hésite pas à afficher le texte retourné par la fonction. Ca te dira peut être ce qui va pas.
 
 
Mets les informations de débuguage à fond. (donc affichage des warning également)
 
Pense à utiliser les deux fonctions ci dessous :
scapeshellarg -- Protège une chaîne de caractères pour utilisation en ligne de commande
escapeshellcmd -- Protège les caractères spéciaux du Shell
 
Même si le texte ne vient pas de l'extérieur, il vaut mieux être sur que le shell comprendra les chôses comme il faut.
 
 
 
 
Pour le moment je vois que ça. Je sais, c'est déjà pas mal mais peut être pas suffisant.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed