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 :

Fonction System ou Passthru : décoder le retour


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 29
    Points
    29
    Par défaut Fonction System ou Passthru : décoder le retour
    Bonjour,

    J'utilise dans un de mes programmes une partie laissant à l'utilisateur le droit d'entrer une commande shell sur le serveur.

    Pour ceci j'ai utilisé System et Passthru, et je n'ai pas trouvé de solution à mon problème.

    En effet, j'arrive à récupérer le code de retour de l'exécution de la commande, mais j'aimerai afficher le texte de sortie si je le tapais dans un terminal.

    Par exemple : Code 127 = No such file or directory
    Code 0 = Commande ok, etc ...

    Existe-t'il une fonction de conversion pour ceci ? Ou une autre solution, je suis preneur
    Merci.

  2. #2
    Expert confirmé
    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
    Points : 4 853
    Points
    4 853
    Par défaut
    Salut,

    t'as un article dessus ici http://y-komotir.developpez.com/tuto...-commande-php/

    Bonne lecture.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Salut Thes32, et merci de ta réponse.

    Cependant, je n'ai pas trouvé de solution à ma question dans ton lien. J'ai finalement trouvé une solution : rediriger la sortie erreur sur la sortie standard, ce qui permet de récupérer l'intitulé de l'erreur.
    Pour faire cela, il suffit d'ajouter '2>&1' après la commande.

    En pratique, on tape ce genre de ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sortie_erreur = system($commande." 2>&1", $ret_val);
    J'espère que ça pourra aider quelqu'un.

    Bonne continuation.

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

Discussions similaires

  1. Autoriser la fonction system ou passthru
    Par noftal dans le forum Langage
    Réponses: 1
    Dernier message: 26/05/2015, 21h45
  2. [PHP 5.0] [Système] fonction system(), les valeurs sans retours
    Par keaton7 dans le forum Langage
    Réponses: 18
    Dernier message: 17/07/2009, 22h01
  3. Retour de la fonction system()
    Par nymus7 dans le forum Langage
    Réponses: 4
    Dernier message: 27/02/2008, 15h04
  4. valeur de retour de la fonction "system" en C
    Par benhoeil dans le forum C
    Réponses: 14
    Dernier message: 16/09/2005, 11h30
  5. Réponses: 13
    Dernier message: 20/03/2003, 08h11

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