Commande exec()

Signaler
Messages postés
11
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
30 octobre 2008
-
Messages postés
64
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
8 mai 2013
-
Bonjour à tous,

Je débute le PHP, je developpe un site en flash 8 pour une toute petite entreprise, je voudrais utilisé une commande exec() dans un PHP pour lancer un programme installé sur le DD de l'utilisateur, mais je n'arrive pas à l'utiliser avec des espace dans le chemin du fichier exe.
Un exemple vaut mieux qu'un grand discour alors voila,

exec("c:\logiciel\MonProg.exe")    ==> fonctionne très bien
exec("c:\mes logiciels\mon programme.exe")  ==> ne fonctionne pas
Bien sur je pourrai renomer tous les fichiers et les dossiers pour qu'il n'y ai pas d'espaces mais c'est pas vraiment une solution !

J'ai essayer de remplacer les espace par %20 aucun effets,
Quelqu'un pourrai m'expliquer comment faire passer ces espaces ?? Ou même une autre solution qui pourrai me permettre d'oouvrir des programmes, des video, ou des photo installé sur l'ordinateur de l'utilisateur.

Merci d'avance

7 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Hello,

essaye avec un rawurlencode() même si à mon avis ce sera pareil.
Messages postés
11
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
30 octobre 2008

Merci pour l'info mais effectivement cela ne focntionne pas non plus !!
Seule solution trouvée pour le moment : Renomer tous les dossiers et les programmes (pas gloups, il en a une cinquantaine !)

A+
Messages postés
1
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
13 novembre 2007

Le plus court chemin pour aller de A à B ?
Arrête de réfléchir et commence à marcher

So say we all
Messages postés
1
Date d'inscription
mercredi 22 novembre 2006
Statut
Membre
Dernière intervention
30 juin 2008

Mieux vaut tard que jamais, avec des \ devant les ", ça evite de renommer ses répertoires et fichiers.

ex : exec("perl "c:/Program Files/...pl" ");
Messages postés
31
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
30 décembre 2008

bonjour tous le monde ,
Alors si quelqu'un sur ce forum peut m'aider .
je travaille avec une commande exec('ffmpeg -i nomvideo.raw -f avi nomvideo.avi') ;
ça sert à convertir le monvideo.raw en un video.avi , cette commande fonctionne bien. Mais , le problème que ça doit étre dynamique pas statique ça veut dire que . dans mon site je dois selectionner un video et je precise le nom de video destination pour la conversion.
j'ai essayé de mettre des variables genre : 
$videoSource='CHANNEL1_200.raw';
$videoDest='test.avi';
exec('ffmpeg -i "$videoSource" -f avi "$videoDest"');
mais ça ne marche pas .
merci de m'aider .
Messages postés
1
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
30 janvier 2009

exec("c:\logiciel\MonProg.exe")    ==> fonctionne très bien
exec("c:\mes logiciels\mon programme.exe")

Essaye sa : exec(""c:\mes logiciels\mon programme.exe"")

Il faut ajouter des guillements lorsque l'on utilise une string avec des espaces.
Messages postés
64
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
8 mai 2013

exec("c:\logiciel\MonProg.exe") ==> fonctionne très bien
exec("c:\mes logiciels\mon programme.exe") ==> ne fonctionne pas

le probleme vient de lespace entre les mots