[PHP] comment lancer un prog windows ?

Fermé
Nico - 10 mai 2006 à 16:08
 neoselen - 11 oct. 2011 à 14:10
Bonjour,
Je souhaiterais lancer un programme windows (internet explorer par exemple) à partir d'un PHP.
Actuellement je fais :

<?
exec("C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE");
?>

Mais ça ne fonctionne pas....
j'ai également utilisé la commande "system", mais sans succès.

Avez vous une idée ?
A voir également:

8 réponses

salut,
çà fait quelques temps que je travaille pour faire fonctionner un exe quelconque à partir de php 5 sur apache 2, et sur windows xp pro sp2, donc je confirme :

- pas de safe mode (je dois faire des tests s'il est activé, dans le répertoire réservé)
- placer le .exe dans un dossier pas trop loin de la racine, sans espace dans le chemin (qui doit donc etre court)
- créer un fichier .bat avec le chemin complet de l'exe
- utliser la fonction exec par exemple, qui appelle la commande start avec les bons paramètres

çà donne :

dans le php :

$cmdline = "start \"titre\" /Dc:\programme\ lanceur.bat";
exec($cmdline);


et dans le fichier lanceur.bat qui est dans c:\programme on a :

c:\programme\monprogramme.exe


détail sur la commande windows : start

https://ss64.com/nt/start.html

à priori je n'ai fait aucun autre réglage que les réglages par défaut sur xp pro et apache

Voilà j'espère que çà va vous aider !

Frédéirc
1
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 292
10 mai 2006 à 16:14
Salut

c'est normal le système aime pas les espaces dans la commande, comme Internet"espace"Explorer ca il apprécie pas.

Déja essaie de mettre un executable indépendant dans Porgram Files et teste exec("C:\\program~1\\nom_de_lexecutable");

Apres faudra tester avec IEXPLORER.
0
Merci pour ton aide Arth,

j'ai suivi ton conseil, et copié le binaire iexplorer sous C:/Temp, puis fais :

exec("C:\\Temp\\IEXPLORE.EXE");

Mais, sans résultat, le navigateur ne se lance toujours pas.....
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 292
10 mai 2006 à 16:39
essaie avec: system("start C:\\Temp\\nomdelexecutable");
0
Non, même avec cette commande, le navigateur ne se lance pas.
Pourtant à la main (clic sur exe), il se lance bien...
N'y aurait il pas des parametres dans le php.ini qui me bloquerait la commande exec ?
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 292
10 mai 2006 à 17:05
Tu peux pas tenter de faire une applet java qui lancerait IE?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ricric Messages postés 34 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 11 mai 2006 7
11 mai 2006 à 20:13
Bonsoir
SAFE_MODE est peut-être activé.
0
Merci à tous pour votre aide.
En fait, j'ai trouvé une parade pour que ça fonctionne : je passe par un fichier .bat :

dans mon PHP :

exec("C:\\Temp\\ie.bat");

et dans ie.bat :

C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE

Et là ça fonctionne.... allez savoir.............

A+
0
forcément, si tu pars du principe que iexplorer est dans C:\Temp\ tu n'y arriveras pas...
et aussi,important: pour que ton programme soit compatible avec les autres windows, tu devrais utiliser dans ton .bat des variables systèmes, te garantissant à toi et aux autres une plus grande facilité d'utilisation.
je ne dis pas:
C:/Documents And Settings/moi/Bureau
mais:
%homedrive%%homepath%
ce qui évitera à ton batch de foirer au moment de passer sur C:\Documents.
ce qui garantis pour un bureau installé sur un lecteur D ayant pour utilisateur zigouigoui de fonctionner !
0
Une petite remarque en passant ayant eu le meme probleme (démarrage du processus, mais pas du programme)...

La solution au probleme initial est dans les commentaires de la documentation php en ligne, et est relative à Apache et non à PHP. ;)

Voir mon post complet ici:
http://etalkers.tuxfamily.org/e107_plugins/forum/forum_viewtopic.php?6381
0
Bonjour,

J'ai le meme probleme mais sur un serveur linux.
J'ai louer un serveur privé virtuel chez 1and1. Depuis une semaine je tente de faire marcher la fonction system.
Le safe mode est bien desactivé ... je tourne en rond sans y arrivé, comment faire?

Merci d'avances.

MArie.
0