为什么PHP不接受带参数$ 1的命令

时间:2012-09-20 17:00:56

标签: php arguments

  

可能重复:
  Making variable from HTML-file work in PHP-file

我有另一个文件(HTML文件),它将一个参数传递给这个PHP文件。它这样做我用“echo”检查了它,它抛出了我在HTML文件中写的相同的参数,所以到目前为止,非常好。 PHP文件看起来像这样。

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

命令“ONE”是我编写的用于在文件中执行一些“greps”的bash脚本,它接受一个参数,即“$ search”,它将deed传递给此PHP文件。如果我将“$ search”换成实际的“搜索词”,它就像一个魅力。为什么不接受“$ search”作为参数?它似乎忽略了它并抛出了一个空白页面,但如果我使用“搜索词”它会回报我想要的东西。

3 个答案:

答案 0 :(得分:3)

fopen中存在语法错误(可能是转录错误)。

您的意思是使用$_REQUEST['search']而不是$search吗?通过“将参数传递给此PHP文件的HTML文件”我假设您的意思是通过某种链接或异步请求。如果是这种情况,您应该使用escapeshellarg

答案 1 :(得分:0)

检查出来:

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

有效吗?

答案 2 :(得分:0)

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

尾随空间?