escapeshellarg

Escape a string to be used as a shell argument

&reftitle.description; `string` `escapeshellarg` `string` `arg`

`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.

&reftitle.parameters;

`arg`

- The argument that will be escaped.

&reftitle.returnvalues;

The escaped string.

&reftitle.examples;

### `escapeshellarg` example

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

&reftitle.seealso;

- `escapeshellcmd`
- `exec`
- `popen`
- `system`
- backtick operator