PHP problème avec exec et system

rico -  
creadiff Messages postés 483 Statut Membre -
Bonjour,
j'ai un souci avec php pour lancer un exécutable.
Si le chemin contient un espace, php ne me lance pas l'appli. J'ai essayé exec() et system() sans succès.
Ex : exec("C:\Program Files\VLC\vlc.exe");
J'ai essayé avec des %20 à la place des espaces des guillemets (') au lieu de ("), rien ne fonctionne.

Est-ce quelqu'un à déjà eu le problème ?

Eric
Configuration: Windows XP
Firefox 3.0.3

5 réponses

  1. creadiff Messages postés 483 Statut Membre 57
     
    Il faut écrire le code suivant :

    exec('"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"');
    2
  2. Marco la baraque Messages postés 1030 Statut Contributeur 329
     
    Bonsoir,
    Essaie de mettre des slashs à la place des antislashs, qui servent à échapper les caractères. Je ne pense pas que l'espace posera problème.

    Cordialement,
    0
  3. rico
     
    Merci pour ta réponse,

    mais j'ai toujours le même problème.

    Petite info : je test ma page sur Easyphp 1.8.0.1
    0
  4. rico
     
    encore une info :
    le code retour est a 1 quand il y a un espace dans le chemin sinon il est a 0.
    0
    1. Marco la baraque Messages postés 1030 Statut Contributeur 329
       
      Bonsoir,
      Essaie maintenant en échappant l'espace (en principe l'espace correspond à la séparation des paramètres donc il ne comprend pas que c'est une chaîne unique) :
      exec("C:/Program\ Files/VLC/vlc.exe");

      Enfin, executes-tu ce script sur un serveur en local ou sur un serveur distant ?

      Cordialement,
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. rico
     
    J'ai toujours le même problème en échappant l'espace. J'avais aussi essayé en remplaçant l'espace pas %20.
    Je teste en local sur ma machine, mais le but est de le faire fonctionner en distant avec VLC en local.
    0