(PHP 4, PHP 5, PHP 7, PHP 8)
system —
Exécute un programme externe et affiche le résultat
Description
system(string
$command
, int
&$result_code
=
null
): string|false
L'appel à la fonction system() tente également
d'actualiser le buffer de sortie du serveur web après chaque ligne de sortie
si PHP fonctionne en tant que module serveur.
Si vous devez exécuter une commande et
récupérer tout le résultat sans aucune
intervention, utilisez la fonction passthru().
Liste de paramètres
-
command
-
La commande à exécuter.
-
result_code
-
Si l'argument result_code
est
présent, alors le statut retourné de l'exécution de la commande
sera écrit dans cette variable.
Valeurs de retour
Retourne la dernière ligne de la sortie de la commande en cas de succès, et false
si une erreur survient.
Exemples
Exemple #1 Exemple avec system()
<?php
echo '<pre>';
// Affiche le résultat de la commande "ls" et retourne
// la dernière lignes dans $last_line. Stocke la valeur retournée
// par la commande shelle dans $retval.
$last_line = system('ls', $retval);
// Affichage d'autres informations
echo '
</pre>
<hr />La dernière ligne en sortie de la commande : ' . $last_line . '
<hr />Valeur retournée : ' . $retval;
?>
Notes
Avertissement
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.
Voir aussi
- exec() - Exécute un programme externe
- passthru() - Exécute un programme externe et affiche le résultat brut
- popen() - Crée un processus de pointeur de fichier
- escapeshellcmd() - Protège les caractères spéciaux du Shell
- pcntl_exec() - Exécute le programme indiqué dans l'espace courant de processus
- les guillemets obliques