Может ли PHP выполнить команду терминала

Возможный дубликат:
Выполнение команд Linux с помощью PHP

У меня есть файл PHP, который создает файл .xfdf Мне интересно, имеет ли PHP способ выполнения команды, как вы бы .xfdf в окне терминала? Мне нужно запустить следующую команду, когда после .xfdf файла .xfdf для создания файла .pdf

 pdftk /var/www/pdf/TimeCard.pdf fill_form /var/www/pdf/results/Brandon_01_23_13.xfdf output /var/www/pdf/results/testNew.pdf flatten 

Команда должна будет иметь возможность принимать переменную PHP, поэтому она настроена для пользователя. Есть простой способ сделать это?

Да, вы можете использовать функции exec () , pcntl_exec () , system () .

 $command = 'pdftk /var/www/pdf/TimeCard.pdf fill_form /var/www/pdf/results/Brandon_01_23_13.xfdf output /var/www/pdf/results/testNew.pdf flatten'; exec($command); 

Будьте очень осторожны при использовании этих команд, они очень полезны / мощны, но из-за этого хакер может потенциально получить доступ к вашему серверу через него (в зависимости от разрешений, но более чем достаточно для компрометации вашего сайта).

Если вам нужно отправить загруженные пользователем имена файлов / текст, проверьте их на наличие крови (например, проверьте, находится ли путь к файлу в нужном месте, а не ../../../something.pdf , проверьте типы MIME и расширения).

Да, вы можете использовать:

  1. система
  2. Exec
  3. пройти

В зависимости от ваших точных требований вы можете использовать функции exec() , system() или shell_exec()

Используйте функции system () или eval () .

Но убедитесь, что пользователь не может вводить произвольные команды!