Maison  >  Article  >  développement back-end  >  Résumé de l'utilisation de la fonction de commande d'exécution externe php

Résumé de l'utilisation de la fonction de commande d'exécution externe php

墨辰丷
墨辰丷original
2018-06-01 10:07:551353parcourir

Cet article présente principalement l'utilisation de la fonction de commande d'exécution externe PHP et analyse les compétences d'utilisation associées de l'exécutif et du système pour exécuter des commandes externes sous forme d'exemples. Les amis dans le besoin peuvent s'y référer

D'abord. avant tout, vous devez vous auto-examiner Oui, j'étudie et j'utilise PHP depuis plus d'un an, et j'étudie et j'utilise le système Linux depuis presque un an. Je ne savais pas qu'un langage interprété comme PHP pouvait le faire. appeler directement des commandes d'exploitation pour contrôler le système...

Résumons d'abord les opérations Linux. Je ne mentionnerai pas les cd, cp, mv, rm et autres couramment utilisés. En résumé, les utilisateurs ordinaires doivent ajouter avant la commande lors de l'extraction des autorisations root. Entrez sudo, puis la commande pour afficher le numéro de ligne dans l'éditeur vi est : set nu.
Les fonctions intégrées de PHP exec et system peuvent appeler des commandes système (commandes shell). Cependant, si vous souhaitez utiliser ces deux fonctions, le mode sans échec dans php.ini doit être désactivé, sinon PHP ne permettra pas d'appeler le. système pour des raisons de sécurité.

Jetez d'abord un œil à l'explication de ces deux fonctions dans le manuel PHP :

1. exec --- Exécuter des programmes externes
<.>

Syntaxe : string exec ( string command [, array &output [, int &return_var]] )


Description :

exec() exécute la commande donnée commande, mais elle ne génère rien, elle renvoie simplement la dernière ligne du résultat de la commande. Si vous devez exécuter une commande et obtenir toutes les données de la commande, vous pouvez utiliser la fonction passthru().

Si le tableau de paramètres est donné, le tableau spécifié sera rempli avec chaque ligne sortie par la commande Remarque : si le tableau contient déjà certains éléments, exec() l'ajoutera au tableau plus tard, si. vous ne voulez pas que cette fonction ajoute des éléments, vous pouvez appeler unset() avant de passer le tableau à exec().

2. système --- Exécuter un programme externe et afficher la sortie

Syntaxe : système de chaînes (commande de chaîne [, int &return_var])

Explication :

system() exécute la commande donnée et affiche le résultat. Si le paramètre return_var est donné, le code d'état de la commande exécutée sera écrit dans cette variable.

Si PHP s'exécute en tant que module serveur, system() tentera d'effacer automatiquement le tampon de sortie du serveur Web après la sortie de chaque ligne. Renvoie la dernière ligne de la commande en cas de succès, false en cas d'échec.

Si vous devez exécuter une commande et obtenir toutes les données de la commande, vous pouvez utiliser la fonction passthru().

Ces deux sont utilisés pour appeler des commandes du shell système

La différence est la suivante :

exec peut renvoyer tous les résultats d'exécution à $output Dans le fichier. fonction (tableau), $status est l'état d'exécution. 0 est le succès et 1 est l'échec

systerm n'a pas besoin de fournir la fonction $output. De même, $return_var est le résultat. code d'état d'exécution. 0 est un échec. Le succès 1 signifie un échec

exemple d'exécution :

Ce qui suit est le contenu cité :

<?php
  $a = exec("dir",$out,$status);
  print_r($a);
  print_r($out);
  print_r($status);
?>

Exemple de système :

Ce qui suit est le contenu cité :

<?php
  $a = system("dir",$out);
  print_r($a);
  print_r($out);
?>

Résumé : Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il pourra être utile à l’étude de chacun.

Recommandations associées :

phpClasse de validation du formulaire d'encapsulation

PHP utilise la fonction preg_split pour diviser le contenu Chaînes de nouvelle ligne et de point-virgule

Écrire un programme PHP pour implémenter les fonctions suivantes

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