(PHP 4, PHP 5, PHP 7, PHP 8)
passthru — Exécute un programme externe et affiche le résultat brut
$command
, int &$result_code
= null
): ?false
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.
Cette fonction retourne null
en cas de succès ou false
si une erreur survient.
É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.