Page 1 sur 1

Executer un .exe en PHP comment faire ?

Posté : 02 mars 2006, 16:40
par efrancilien
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 !

Posté : 02 mars 2006, 16:44
par Hermès
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).

Merci

Posté : 02 mars 2006, 16:49
par efrancilien
Je vais tester ca deja...

Pas tres concluant...

Posté : 02 mars 2006, 16:54
par efrancilien
rien ne se passe...

Posté : 02 mars 2006, 16:56
par Hermès
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 ?

visiblement c'est le chemin de l'image qu'il reconnait pas

Posté : 02 mars 2006, 17:08
par efrancilien
sous dos deja..

Finalement

Posté : 02 mars 2006, 17:11
par efrancilien
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 ?

Posté : 02 mars 2006, 17:19
par Hermès
Possible.
Attention avec les chemins contenant des \, ça doit échapper le caractère suivant (pourtant tu dis que le programme est bien trouvé).

OUi

Posté : 02 mars 2006, 17:25
par efrancilien
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 ?

Posté : 02 mars 2006, 17:49
par Hermès
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.

merci

Posté : 02 mars 2006, 18:18
par efrancilien
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 !!