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 :

Exécuter une commande Dos


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 32
    Par défaut Exécuter une commande Dos
    Bonjour à tous,

    Je cherche a exécuter une commande MSDOS pour générer un .pdf à partir d'un document OpenOffice. Pour cela, j'utilise python intégré à OpenOffice et le script DocumentConverter.py

    Voici un exemple de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $cmd='"C:\Program Files\OpenOffice.org 2.3\program\python" "C:\Program Files\OpenOffice.org 2.3\program\DocumentConverter.py" c:\wamp\www\forpro\pdf\ACOMPTE_TRIMESTRIEL2009-07-28_10_35_41.ods c:\test3.pdf';
     
    exec($cmd);
    La commande ne s'exécute pas, alors que si je la tape dans un invite cela marche correctement.

    D'autres commandes comme DIR par exemple sont bien exécutées..;

    Une idée pourquoi cela ne fonctionne pas ?

  2. #2
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,
    pourquoi pas simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $cmd='C:\Program Files\OpenOffice.org 2.3\program\python C:\Program Files\OpenOffice.org 2.3\program\DocumentConverter.py c:\wamp\www\forpro\pdf\ACOMPTE_TRIMESTRIEL2009-07-28_10_35_41.ods c:\test3.pdf';

  3. #3
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 32
    Par défaut
    Eh bien il me semble que dans l'évaluation de la ligne, il va s'arrêter au premier espacement rencontré. Du coup, ça ne marche pas.

    C'est pour ça que je lui demande de mettre des " " entre les chaînes qui contiennent des espaces.

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Tu as raison dans ton utilisation des guillemets par contre tu peux essayer de remplacer tous tes \ par \\

  5. #5
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 32
    Par défaut
    Cela ne marche toujours pas, la commande marche bien si je l'essaye manuellement. Mais rien à faire à partir de ma page

  6. #6
    Membre expérimenté Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 157
    Par défaut
    Est-ce que tu as essayé avec system à la place de exec ?

  7. #7
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 32
    Par défaut
    Des petites nouvelles...

    En tapant juste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php exec('"C:\\Program Files\\OpenOffice.org 2.3\\program\\python.bat"'); ?>
    J'obtiens ça dans apache_log :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Python 2.3.4 (#53, Aug  8 2007, 18:48:09) [MSC v.1310 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    Maintenant quand je lui passe la deuxième partie à savoir le script Python pour convertir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php exec('"C:\\Program Files\\OpenOffice.org 2.3\\program\\python.bat" "C:\\Program Files\\OpenOffice.org 2.3\\program\\DocumentConverter.py"'); ?>
    J'ai çà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'C:\Program' n'est pas reconnu en tant que commande interne
    ou externe, un programme ex‚cutable ou un fichier de commandes.
    J'ai essayé de jouer sur les " " et compagnie. Dès qu'il y a un deuxième "paramètre", il ne passe plus sur la suite de Program...

    Des idées ?

  8. #8
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 32
    Par défaut
    Re bonjour,

    La fonction marche si on lui donne un chemin sans espace. J'ai pas trouvé mieux comme solution.

    Je ne sais pas pourquoi cela plante quand le chemin à des espaces. Même en mettant des " ".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécuter une commande DOS avec VB.net 2005
    Par peregna2007 dans le forum VB.NET
    Réponses: 2
    Dernier message: 20/08/2008, 11h42
  2. Exécuter une commande DOS en JAVA
    Par WerKa dans le forum Langage
    Réponses: 3
    Dernier message: 05/03/2008, 11h03
  3. Exécuter une commande dos et PAnsiChar
    Par neuneu1 dans le forum Débuter
    Réponses: 9
    Dernier message: 18/02/2008, 19h09
  4. Exécuter une commande DOS
    Par Linio dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/06/2007, 14h49
  5. [VB.NET] exécuter une command Dos à Partir de Vb.Net
    Par Khalid.bounouader dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/12/2006, 14h05

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