Maison > développement back-end > tutoriel php > Explication détaillée de la fonction exec() en PHP et comment obtenir son instance de valeur de retour

Explication détaillée de la fonction exec() en PHP et comment obtenir son instance de valeur de retour

伊谢尔伦
Libérer: 2023-03-11 14:54:02
original
5004 Les gens l'ont consulté

exec

Exécuter le programme externe.

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

Valeur de retour : Chaîne

Type de fonction : Système d'exploitation et environnement

Description du contenu

Cette fonction exécute le programme externe ou la commande d'entrée d'instruction externe. Sa chaîne de retour n'est que la dernière ligne renvoyée après l'exécution du programme externe ; si vous avez besoin d'une chaîne de retour complète, vous pouvez utiliser la fonction PassThru().

Si le tableau de paramètres existe, la commande ajoutera le tableau au paramètre pour l'exécution. Si vous ne souhaitez pas que le tableau soit traité, vous pouvez appeler unset() avant d'exécuter exec(). Si les paramètres return_var et array existent, le status après l'exécution de la commande sera renseigné dans return_var.

Il convient de noter que si vous devez traiter les données saisies par l'utilisateur et empêcher l'utilisateur de jouer des tours pour pirater le système, vous pouvez utiliser EscapeShellCmd().

Q :
Comment puis-je obtenir une valeur de retour après l'exécution de exec("ping $PingDNS", $Info); non. Après le ping, exec ne peut renvoyer que la dernière ligne renvoyée après l'exécution du programme externe. Aidez-moi ! ! ! !

Réponse 1 :
Fonction : passthru()
----------------------------- - -------------------------------------------------
Bibliothèque de fonctions d'exécution de programme
passthru
Exécutez des programmes externes sans traiter les données de sortie.

Syntaxe : string passthru(string command, int [return_var]);

Valeur de retour : String

Type de fonction : Système d'exploitation et environnement

Contenu Description
Cette fonction est similaire à Exec() et est utilisée pour exécuter des instructions de commande et afficher les résultats. Si le paramètre return_var existe, l'état après l'exécution de la commande sera renseigné dans return_var. Si les données de sortie sont des données binaires et doivent être envoyées au navigateur, il est tout à fait approprié d'utiliser cette fonction. Par exemple, utilisez l'outil pbmplus pour exécuter des instructions et renvoyer des données graphiques binaires. Vous pouvez d'abord configurer l'en-tête des données renvoyées sur Content-type: image/gif, puis appeler le programme pbmplus pour traiter les données graphiques et renvoyer les données graphiques binaires directement au navigateur.

exec("ping $PingDNS", $Info);
renverra une chaîne sous la forme :
Réponse de x.x.x.x : bytes=32 time<10ms TTL=128
Bad IP adresse expert.csdn.NET
...
Il peut être analysé en fonction du contenu de ces chaînes
De plus, le processus d'exécution est conservé dans $Info

Pièce jointe :

Aujourd'hui, cette fonction que j'utilise lorsque le PHP front-end envoie un message au back-end C :

Le back-end exige qu'après avoir écrit le journal des opérations après l'interface d'opération utilisateur, un message doit être envoyé au back-end C

$juser = $_SESSION['wms_user'];

exec("/usr/local/apam_new/bin /apam_debug -a opera:$juser,1");

//Voici ma méthode de test :

//Voir si le message est envoyé en arrière-plan

exec("/usr/local/apam_new/bin/apam_debug -a opera: $juser,1",$info);

echo var_dump($info);

Le résultat s'affiche que le message est envoyé en arrière-plan et que les informations d'impression en arrière-plan sont affichées dans la colonne Firebug

de FireFox est principalement destinée à améliorer la compréhension de la fonction exec() de 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal