(PHP 4, PHP 5, PHP 7, PHP 8)
passthru — Exécute un programme externe et affiche le résultat brut
passthru() est similaire à la fonction exec() car les deux exécutent la commande command
. Si l'argument result_code
est présent, le code de statut de réponse UNIX y sera placé. Cette fonction devrait être préférée aux commandes exec() ou system() lorsque le résultat attendu est de type binaire, et doit être passé tel quel à un navigateur. Une utilisation classique de cette fonction est l'exécution de l'utilitaire pbmplus qui peut retourner une image. En fixant le résultat du contenu (Content-Type) à image/gif
puis en appelant pbmplus pour obtenir une image gif, vous pouvez créer des scripts PHP qui retournent des images.
command
La commande à exécuter.
result_code
Si l'argument result_code
est présent, le statut retourné par la commande Unix sera placé dans cette variable.
Émet une alerte E_WARNING
si passthru() ne peut pas exécuter la commande command
.
Lève une exception ValueError si command
est vide ou contient des octets nuls.
Version | Description |
---|---|
8.0.0 | Si command est vide ou contient des octets nuls, passthru() lève désormais une exception ValueError. Auparavant, une alerte E_WARNING était émise et renvoyait false . |
Si des données provenant des utilisateurs ont la permission d'être passées à cette fonction, utilisez escapeshellarg() ou escapeshellcmd() pour s'assurer que les utilisateurs ne peuvent pas amener le système à exécuter des commandes arbitraires.
Note:
Si un programme est démarré avec cette fonction et qu'il tourne en arrière plan, la sortie du programme doit être redirigée vers un fichier, ou un autre flux de sortie. À défaut, PHP sera bloqué jusqu'à la fin de l'exécution du programme.