escapeshellarg
把字符串转码为可以在 shell 命令里使用的参数
escapeshellarg
PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8
该函数用于将字符串转义为可以安全地用于 shell 命令行的参数。它在字符串外部添加单引号,并将字符串中原有的单引号进行适当转义,防止命令注入攻击。
string escapeshellarg(string $arg)
返回添加了适当转义的字符串,可以安全用于 shell 命令。
$input = "user's file.txt"; $escaped = escapeshellarg($input); $command = "ls " . $escaped; echo $command;
本例中,变量 $input 包含一个带有单引号的文件名。escapeshellarg() 会将其转义为 shell 安全格式,如 'user'\''s file.txt',然后构建出安全的命令 ls 'user'\''s file.txt'。这样可以有效防止潜在的命令注入问题。