(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.