IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Problème avec la fonction "exec()"


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 8
    Points
    8
    Par défaut [Système] Problème avec la fonction "exec()"
    Bonjour à tous.

    Je travaille sur la création d'un intranet pour ma société, qui doit générer des fichiers WORD suivant des infos dans une base. La création de ces fichiers se faisant en VB Access, il faut que le programme PHP éxécute une ligne de commande lançant MS ACCESS, avec un certain nombre de paramètres... Malheureusement, cela ne créé pas le fichier. Pourtant, la ligne de commande est correcte (si je la récupère, et que je l'éxécute directement dans l'invite de commande, cela me créé bien le fichier)...
    Voici le format de la ligne de commande :
    Citation :

    "c:Program Files\Microsoft Office 2003\OFFICE11\MSACCESS.EXE" "c:\GestCom\3.3.0\HelperGestCom.mdb" /cmd CreateDocAttestation 854 432 "d:xampp/xampp/htdocs/docs/Attestation_Individuelle2.doc"



    Pour info, j'utilise la fonction exec(), mais j'ai aussi éssayé system(), avec le même résultat.

    Quelqu"un aurait une idée sur le problème que je rencontre ? Merci d'avance !

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    L'utilisation du backslah est reservé en php, donc quand tu écris le chemin de ta commande, les backslashs sont considérés comme un caractère d'échappement et ne sont donc pas interprérés dans le exec.
    par exemple essaie comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec("c:\\rep\\commande");
    il me semble que si tu fais
    echo "c:\rep\commande";
    et
    echo "c:\\rep\\commande";
    tu verras si le problème vient bien de là.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    J'ai remplacé mes \ par des \\, mais cela ne change rien.

    j'ai eu une autre piste sur un forum : en mettant la ligne de commande dans un .bat, et en éxécutant ce .bat en ligne de commande, j'obtiens l'erreur suivante :
    "Le chemin d'accés spécidfié est introuvable"...

    Pourtant en l'éxécutant directement, cela fonctionne !

    [edit]N'étant pas un pro de la "ligne de commande", je suis étonné par ce que je viens de voir :
    si je me déplace jusqu'au bureau, et que j'éxécute le .bat, cela me met cette erreur. par contre, si je l'éxécute en indiquant le chemin complet

    U:\>"cocuments and Settings/jb/Bureau/test.bat"

    Alors, cela fonctionne ! je comprends plus !

Discussions similaires

  1. [Système] Problème avec la fonction exec()
    Par danathane dans le forum Langage
    Réponses: 12
    Dernier message: 10/06/2008, 11h38
  2. [Système] Problème avec la fonction crypt()
    Par Jérémy51 dans le forum Langage
    Réponses: 5
    Dernier message: 28/10/2006, 12h42
  3. [Système] problème avec la fonction exec
    Par SegmentationFault dans le forum Langage
    Réponses: 1
    Dernier message: 30/06/2006, 17h59
  4. [Système] Problème avec la fonction exec()
    Par ben_harper dans le forum Langage
    Réponses: 13
    Dernier message: 28/06/2006, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo