使用$ _GET [' request']执行PHP Shell命令

时间:2014-07-09 20:57:11

标签: php get

我创建了一个脚本,通过调用'request'GET来执行php脚本中的某些部分,

有没有办法通过SHELL执行脚本:php -q script.php?request

我已经执行但没有任何事情发生。

感谢任何帮助

1 个答案:

答案 0 :(得分:2)

通常会在命令后面放置参数:

php -q script.php request arg2

文件内部将用

读取
$request = $argv[1];
$arg2 = $argv[2];

($argv[0];)是脚本名称

修改

从命令行

php -q script.php request

并在script.php中:

 $request = $argv[1];
if(isset($request){
 echo 'run this part';
}

<强> EDIT2

我认为如果参数是有条件的,你可以做类似的事情:

php -q script.php 'arg1:foo-arg2:bar'

$request = $argv[1];
$parts=explode('-',$request);
$args=array();
foreach($parts as $part){   
   $arg=explode(':',$part);
   $args[$arg[0]]=$arg[1];
}

会给你:

array(
    arg1 => 'foo', 
    arg2 => 'bar'
      )