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] Commande system()


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Points : 20
    Points
    20
    Par défaut [Système] Commande system()
    Bonjour,

    en php je fait appel a un fichier Perl avec la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    $root = $_SERVER['DOCUMENT_ROOT'];
    $fic_perl = "/usr/bin/perl $root/cgi-bin/monfichier.pl";
     
    $data = system($fic_perl);
     
    $content = <<<EOF
    $data
    EOF;
    ?>
    le fichier perl me renvoit un affichage correct dans ma page (depuis la commande 'print' de perl).

    Je souhaite recuperer cet affichage dans une variable php, mais elle ne prend aucune valeur.

    Merci !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    system()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $root = $_SERVER['DOCUMENT_ROOT'];
    $fic_perl = "/usr/bin/perl $root/cgi-bin/monfichier.pl";
     
    $error = system($fic_perl, $data);
     
    $content = <<<EOF
    $data
    EOF;
    ?>

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Points : 20
    Points
    20
    Par défaut
    le probleme est que j'ai 0 en valeur de la variale de retour.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    il faudrait voire les droits que tu as sur les fichiers, il est possible que tu n'ai pas accès au répertoire cgi-bin...

    fait un pour contrôlé et teste avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo file_get_contents($fic_perl);
    pour voir si c'est lisible

  5. #5
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par juJuv51
    system()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $root = $_SERVER['DOCUMENT_ROOT'];
    $fic_perl = "/usr/bin/perl $root/cgi-bin/monfichier.pl";
     
    $error = system($fic_perl, $data);
     
    $content = <<<EOF
    $data
    EOF;
    ?>
    string system ( string command [, int &return_var] )
    Si je lis bien le manuel, ta variable $data contient le code retour de l'éxécution et non pas la sortie standart.

  6. #6
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Un truc du genre pourrait peut-être donner quelque chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    ob_start();
    system($fic_perl);
    $data = trim(ob_get_contents());
    ob_end_clean();
    ?>

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    oui, je me suis planté, désolé...

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Points : 20
    Points
    20
    Par défaut
    wahou ! belle prestation jml94, avec ton script ca fonctionne a merveille.
    Merci bcp !

  9. #9
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    My pleasure.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    Pas bête ob_start(); je retiens... merci jml94

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

Discussions similaires

  1. [Système] Commande SYSTEM linux
    Par dftrish dans le forum Langage
    Réponses: 2
    Dernier message: 29/02/2008, 14h06
  2. [Système] Commande system() sous Windows
    Par gouakkamol dans le forum Langage
    Réponses: 1
    Dernier message: 10/01/2008, 18h43
  3. [Système] Commande system php (Linux)
    Par Oregon09 dans le forum Langage
    Réponses: 2
    Dernier message: 08/06/2007, 15h15
  4. [Système] Commande system qui ne marche pas
    Par marie59 dans le forum Langage
    Réponses: 7
    Dernier message: 16/05/2007, 17h40
  5. Réponses: 1
    Dernier message: 13/03/2006, 15h31

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