Почему PHP не принимает команду с аргументом $ 1

Возможный дубликат:
Создание переменной из HTML-файла в PHP-файле

У меня есть другой файл (HTML-файл), который передает аргумент этому PHP-файлу. Он делает это, я проверил его с помощью «эха», и он отбрасывает тот же аргумент, который я написал в HTML-файле, так что пока, так хорошо. PHP-файл выглядит так.

<? $filepath = "/usr/sbin"; exec("ONE $search -command $filepath "); fopen($filepath, "rw"); ?> 

Команда «ONE», которая представляет собой bash-скрипт, который я написал для создания «greps» в файлах, принимает один аргумент, а это «$ search», который на деле передается этому PHP-файлу. И если я обменяю «$ search» на фактическое слово «поиск», он работает как шарм. Почему он не принимает «$ search» в качестве аргумента? Он просто игнорирует его и отбрасывает пустую страницу, но если я использую «поиск», он возвращает только то, что я хочу.

У вас есть синтаксическая ошибка в fopen (возможно, ошибка транскрипции).

Вы хотите использовать $_REQUEST['search'] а не просто $search ? «HTML-файл, передающий аргумент этому PHP-файлу», я предполагаю, что вы имеете в виду ссылку или асинхронный запрос. Если это так, вы должны использовать escapeshellarg .

Проверь это:

 exec("ONE {$search} -command {$filepath} "); 

Это работает?

 exec("ONE $search -command $filepath "); 

конечное пространство?