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!