(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
escapeshellarg — Экранирует строку для передачи в качестве аргумента командной строки
Функция escapeshellarg() добавляет одинарные кавычки вокруг строки и кавычек и экранирует любые существующие одинарные кавычки, разрешая передать строку непосредственно в функцию оболочки и рассматривать её как один безопасный аргумент. Эта функция должна использоваться для того, чтобы экранировать отдельные аргументы для функций оболочки, полученные из пользовательского ввода. Экранирование аргумента необходимо в таких функциях оболочки как exec(), system() и оператор "обратный апостроф".
В ОС Windows escapeshellarg() заменяет восклицательный знак,
знак процента (позднее связывание переменных) и двойные кавычки на пробелы и
добавляет двойные кавычки вокруг строки.
Кроме того, каждая серия последовательных обратных слешей (\
)
экранируется одним дополнительным обратным слешем.
arg
Аргумент, который заэкранирует функция.
Функция возвращает экранированную строку.
Пример #1 Пример использования функции escapeshellarg()
<?php
system('ls '.escapeshellarg($dir));
?>