0

可能重复:
使用 PHP 执行 linux 命令

我有一个创建文件的 PHP 文件.xfdf我想知道 PHP 是否有一种执行命令的方式,就像您在终端窗口中键入的那样?创建文件后,我必须运行以下命令.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 变量,以便为用户定制。是否有捷径可寻?

4

4 回答 4

4

是的,您可以使用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 类型和扩展名)。

于 2013-01-23T08:24:21.087 回答
2

是的,您可以使用:

  1. 系统
  2. 执行
  3. 通路
于 2013-01-23T08:24:25.627 回答
2

根据您的具体要求,您可以使用exec(),system()shell_exec()

于 2013-01-23T08:25:56.840 回答
1

使用system()eval()函数。

但要确保用户不能注入任意命令!

于 2013-01-23T08:23:42.813 回答