Executer un .exe en PHP comment faire ?

Petit nouveau ! | 7 Messages

02 mars 2006, 16:40

Bonjour,
J'utilise un programme en .exe qui effectue un traitement sur un fichier
image.

En pratique, voici comment j'utilise ce programme.
1. je l'exécute
2. je lui indique le chemin du fichier image
3. le programme effectue un traitement et me renvoi la nouvelle image dans
un nouveau dossier portant le même nom que mon image source.

Je souhaite créer un script en PHP qui permettrait d'automatiser tout ceci.
J'ai commencé mon script mais je bloque, je ne sais pas comment exécuter mon
programme !

Voici le debut de mon code :

Code : Tout sélectionner

$CheminPhysique=getcwd(); // Recuperation du chemin physique du dossier en cours $Prog = $CheminPhysique."\convertisseur.exe"; $ImgSource= $CheminPhysique."\image.jpg"; if (file_exists($Prog)) { echo 'le programme a été trouvé'; }else{ echo 'pas trouvé'; }
Je trouve bien le programme, après, je fais quoi ??????
comment demander l'exécution en lui demandant d'utiliser $ImgSource ?

merci de m'éclairer svp !

Eléphant du PHP | 312 Messages

02 mars 2006, 16:44

exec("./monProgramme.exe");

Après, à voir si tu peux lancer ton programme avec "C:/../monProgramme.exe C:/../monImage.jpg"
A tester dans une fenêtre dos, ça dépend de la façon dont est codé le programme (si l'exécutable accepte des paramètres ou non).

Petit nouveau ! | 7 Messages

02 mars 2006, 16:49

Je vais tester ca deja...

Petit nouveau ! | 7 Messages

02 mars 2006, 16:54

rien ne se passe...

Eléphant du PHP | 312 Messages

02 mars 2006, 16:56

rien ne se passe quand tu fais quoi ?
quand tu test d'ouvrir le programme avec en paramètre ton fichier image dans une fenêtre dos ?
ou quand tu utilises la commande exec en php ?

Petit nouveau ! | 7 Messages

02 mars 2006, 17:08

sous dos deja..

Petit nouveau ! | 7 Messages

02 mars 2006, 17:11

En testant sous dos à la racine


convertisseur.exe image.jpg
ca marche le fichier s'execute bien
donc le parametre fonctionne..

Probleme de chemin alors ?

Eléphant du PHP | 312 Messages

02 mars 2006, 17:19

Possible.
Attention avec les chemins contenant des \, ça doit échapper le caractère suivant (pourtant tu dis que le programme est bien trouvé).

Petit nouveau ! | 7 Messages

02 mars 2006, 17:25

Oui c'est pour cela que mon chemin complet marchait pas !
A priori c tout bon maintenant.

Merci beaucoup
Petit question pratique.

je suis en local en winXp et serveur apache.
Sur mon serveur distant, cette commande fonctionnera t-elle aussi et y-a t-il moyen de l'exécuter en tâche de fond pour ne pas trop mobiliser ls ressouces ?

Eléphant du PHP | 312 Messages

02 mars 2006, 17:49

Pour ça je sais pas trop.
Il se pourrait que la commande exec puisse être désactivée sur le serveur, par mesure de sécurité.
Et pour l'exécution en tache de fond, ça doit probablement dépendre de l'OS.

Petit nouveau ! | 7 Messages

02 mars 2006, 18:18

Merci quand même
Tu m'as pas mal aidé déja, au moins mon script fonctionne, reste plus qu'a fouiner et a tester en live pour paufiner tout ca !!