(PHP 4, PHP 5)
escapeshellcmd — Protège les caractères spéciaux du Shell
escapeshellcmd() échappe tous les caractères de la chaîne command qui pourraient avoir une signification spéciale dans une commande Shell. Cette fonction permet de s'assurer que la commande sera correctement passée à l'exécuteur de commande Shell exec() et system(), ou encore à guillemets obliques.
Les caractères suivants seront échappés : #&;`|*?~<>^()[]{}$\, \x0A et \xFF. ' et " sont échappés que s'ils ne sont pas par paire. Sous Windows, tous ces caractères ainsi que % sont remplacés par un espace.
La commande à échapper.
La chaîne échappée.
Exemple #1 Exemple avec escapeshellcmd()
<?php
$e = escapeshellcmd($userinput);
// Ici, peut importe si $e contient des espaces
system("echo $e");
$f = escapeshellcmd($filename);
// et ici, on s'en préoccupe, nous utilisons donc des guillements
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\"");
?>