escapeshellarg
(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
Beschreibung
$arg
): stringescapeshellarg() 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.
Parameter-Liste
-
arg
-
Die zu maskierende Zeichenkette.
Rückgabewerte
Die maskierte Zeichenkette.
Beispiele
Beispiel #1 escapeshellarg()-Beispiel
<?php
system('ls '.escapeshellarg($dir));
?>
Siehe auch
- escapeshellcmd() - Maskiert Metazeichen der Shell
- exec() - Führt ein externes Programm aus
- popen() - Öffnet einen Dateizeiger für einen Prozess
- system() - Führt ein externes Programm aus und zeigt dessen Ausgabe an
- backtick operator