(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
escapeshellarg — Maskiert eine Zeichenkette (String), um sie als Shell-Argument benutzen zu können
escapeshellarg() fügt einfache Anführungszeichen um eine Zeichenkette herum ein und maskiert alle existierenden einfachen Anführungszeichen innerhalb der Zeichenkette und ermöglicht es so, die Zeichenkette direkt als Argument an eine Shell-Funktion zu übergeben und sie als einzelnes sicheres Argument zu behandeln. Diese Funktion sollte verwendet werden, um einzelne Argumente aus Benutzereingaben zu maskieren, die an Shell-Funktionen übergeben werden. Zu den Shell-Funktionen zählen unter anderem exec(), system() und der Backtick Operator.
Unter Windows ersetzt escapeshellarg() stattdessen
Prozentzeichen, Ausrufezeichen (verzögerte Variablenersetzung) und doppelte
Anführungszeichen durch Leerzeichen und schließt die Zeichenkette in
doppelte Anführungszeichen ein. Darüber hinaus wird jede Reihe
aufeinanderfolgender Backslashes (\
) durch einen
zusätzlichen Backslash maskiert.
arg
Die zu maskierende Zeichenkette.
Die maskierte Zeichenkette.
Beispiel #1 escapeshellarg()-Beispiel
<?php
system('ls '.escapeshellarg($dir));
?>