Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<Program execution Functionsescapeshellcmd>
^Program execution FunctionsLast updated: Mon, 26 Oct 2026

escapeshellarg

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

escapeshellarg — Escape a string to be used as a shell argument

Description

function escapeshellarg(string $arg): string

escapeshellarg() adds single quotes around a string and quotes/escapes any existing single quotes allowing you to pass a string directly to a shell function and having it be treated as a single safe argument. This function should be used to escape individual arguments to shell functions coming from user input. The shell functions include exec(), system() and the backtick operator.

On Windows, escapeshellarg() instead replaces percent signs, exclamation marks (delayed variable substitution) and double quotes with spaces and adds double quotes around the string. Furthermore, each streak of consecutive backslashes (\) is escaped by one additional backslash.

The behavior of this function with multibyte strings depends on the current LC_CTYPE locale setting. Unrecognized characters will be discarded. See setlocale().

Parameters

arg

The argument that will be escaped.

Return Values

The escaped string.

Examples

Example #1 escapeshellarg() example

<?php
system('ls '.escapeshellarg($dir));
?>

See Also


<Program execution Functionsescapeshellcmd>
^Program execution FunctionsLast updated: Mon, 26 Oct 2026