[RESOLU] system() ou exec() ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] system() ou exec() ?

Re: [RESOLU] system() ou exec() ?

par albat » 23 mars 2017, 22:59

Différences particulièrement subtiles.
Merci pour tes explications, bien plus claires que celles de php.net ;)

Re: system() ou exec() ?

par ynx » 23 mars 2017, 18:17

Salut,

Les seules différences entre ces deux fonctions sembles être l'affichage du résultat et la valeur de retour :

- system() affiche directement le résultat de la commande sur la sortie standard (sous forme de texte contrairement à passthru) et retourne uniquement la dernière ligne du résultat de la commande
- exec() n'affiche rien et retourne uniquement la dernière ligne du résultat de la commande (on peut récupérer toutes les lignes du résultat en précisant le deuxième paramètre dans l'appel de la fonction exec)
- passthru() est similaire à la fonction system() mais retourne le résultat sous forme binaire

Les commentaires du code source de PHP semble confirmer ces différences (j'espère ne pas dire pas de bêtise) : https://github.com/php/php-src/blob/mas ... exec.c#L90

Bonne journée,

system() ou exec() ?

par albat » 22 mars 2017, 12:37

Bonjour,

J'ai du mal à bien saisir la différence précise entre ces deux fonctions.

Auriez-vous une explication simple et claire ?

Merci