Maison >développement back-end >Problème PHP >Quelle est la différence entre exec et system en php

Quelle est la différence entre exec et system en php

青灯夜游
青灯夜游original
2020-09-28 14:20:391908parcourir

La différence entre exec et system en php : le système exécute un programme externe et affiche le résultat, il peut générer et renvoyer des résultats ; exec exécute un programme externe sans afficher de résultats mais en renvoyant la dernière ligne du résultat, mais si vous ajoutez un deuxième tableau de paramètres, vous pouvez également obtenir le résultat complet.

Quelle est la différence entre exec et system en php

Recommandé : "Tutoriel vidéo PHP"

Pour appeler des commandes externes en PHP, vous pouvez utiliser exec et system . Implémentation :

system() --- Exécuter un programme externe et afficher la sortie

Prototype :

string system (string command [, int return_var])

La fonction system() est très similaire à celle des autres langages. Elle exécute une commande donnée, génère et renvoie le résultat. Le deuxième paramètre est facultatif et est utilisé pour obtenir le code d'état après l'exécution de la commande.

Résultat de retour

Le succès renvoie 0,

Échec (la commande n'existe pas, etc.) Renvoie une valeur non-0

exec( ) ---Exécuter un programme externe

Prototype :

string exec (string command [, string array [, int return_var]])

La fonction exec() est similaire à system( ) et exécute également la commande spécifiée, mais n'affiche pas le résultat, mais renvoie la dernière ligne du résultat. Bien qu'il ne renvoie que la dernière ligne du résultat de la commande, l'utilisation du deuxième tableau de paramètres permet d'obtenir le résultat complet en ajoutant les résultats ligne par ligne à la fin du tableau. Donc si le tableau n'est pas vide, il est préférable d'utiliser unset() pour l'effacer avant de l'appeler. Ce n'est que lorsque le deuxième paramètre est spécifié que le troisième paramètre peut être utilisé pour obtenir le code d'état d'exécution de la commande.

Exemple :

exec("/bin/ls -l"); 
exec("/bin/ls -l", $res); 
exec("/bin/ls -l", $res, $rc);

Recommandations associées : formation php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn