Le système () Fonction
La fonction système en PHP prend un argument de chaîne avec la commande à exécuter ainsi que tous les arguments que vous souhaitez transmettre à cette commande. Cette fonction exécute la commande spécifiée et transfère tout texte résultant dans le flux de sortie (soit la sortie HTTP dans une situation de serveur Web, soit la console si vous exécutez PHP comme outil de ligne de commande). Le retour de cette fonction est la dernière ligne de sortie du programme, si elle émet une sortie texte.
Le exec () Fonction
La fonction système est assez utile et puissante, mais l'un des plus gros problèmes est que tout le texte résultant du programme va directement au flux de sortie. Dans certains cas, vous souhaiterez peut-être formater le texte résultant et l'afficher d'une manière différente, ou ne pas l'afficher du tout.
Pour cela, la fonction exec en PHP est parfaitement adaptée. Au lieu de vider automatiquement tout le texte généré par le programme en cours d'exécution dans le flux de sortie, cela vous donne la possibilité de placer ce texte dans un tableau renvoyé dans le deuxième paramètre de la fonction:
Le shell_exec () Fonction
La plupart des programmes que nous avons exécutés jusqu'à présent étaient, plus ou moins, de vrais programmes1. Cependant, l'environnement dans lequel les utilisateurs Windows et Unix opèrent est en réalité beaucoup plus riche que cela. Les utilisateurs de Windows ont la possibilité d'utiliser le programme d'invite de commandes Windows, cmd.exe Ce programme est appelé shell de commande.
Le passthru () Fonction
Une fonction fascinante que PHP fournit similaire à celles que nous avons vues jusqu'à présent est la fonction passthru. Cette fonction, comme les autres, exécute le programme auquel vous le demandez. Cependant, il procède ensuite à l'envoi immédiat de la sortie brute de ce programme vers le flux de sortie avec lequel PHP travaille actuellement (c'est-à-dire HTTP dans un scénario de serveur Web ou le shell dans une version en ligne de commande de PHP).
Le proc_open () Fonction et popen ()
fonction
proc_open () est similaire à popen () mais offre un plus grand degré de contrôle sur l'exécution du programme. cmd est la commande à exécuter par le shell. descriptorspec est un tableau indexé où la clé représente le numéro du descripteur et la valeur représente la façon dont PHP transmettra ce descripteur au processus enfant. les tuyaux seront définis sur un tableau indexé de pointeurs de fichiers qui correspondent à la fin de PHP de tous les tuyaux créés. La valeur de retour est une ressource représentant le processus; vous devez le libérer à l'aide de proc_close () lorsque vous en aurez terminé.
proc_open()
etpopen()
, les deux permettant un plus haut degré de contrôle sur le processus engendré.