如何使用参数创建php脚本

时间:2015-07-29 09:36:21

标签: php

我有一个小问题,我想创建一个可以从外部程序或其他任何东西调用的简单php脚本。 我试过了:

<?php
var_dump($argv);
?>

然后将其称为http://localhost/test/script.php?a=test 我得到了:

undefined argv
shell中的一切都很好:

php -q script.php foo bar
array(3) {
  [0]=>
  string(10) "script.php"
  [1]=>
  string(3) "foo"
  [2]=>
  string(3) "bar"
}

当我使用$argv = $_GET;时,我得到HTTP工作:http://localhost/test/script.php?test="abc"给出array(1) { ["test"]=> string(5) ""abc"" }但shell给出数组(0)!!!!!

如何才能从命令行和Web浏览器中调用它。 ? 非常感谢

2 个答案:

答案 0 :(得分:0)

$ argv仅用于从命令行运行脚本时获取参数。 (doc

如果您想从网址获取参数,则应使用$_GET

<?php 
$a = $_GET['a']; 
echo $a; 
?>

如果您想获取所有URL参数,可以使用var_dump($ _ GET);

答案 1 :(得分:0)

这里的问题是,$ _GET是仅来自URL的参数,其中$ argv仅在您通过命令行调用它时。

为什么不检查(isset)是否存在参数(以及命令行或URL中的内容)。

<?php 
if(isset($_GET)) {
    $parameters = $_GET;
} else if(isset($argv)) {
    $parameters = $argv;
} else {
    // no parameters 
}

?>