使用PHP读取位置参数

时间:2010-12-21 06:17:42

标签: php shell command-line command-line-interface

我正在使用.php页面,就像shell脚本一样。唯一的问题是我不知道如何将位置参数传递给PHP页面。

#!/usr/bin/php
<?php

$myfile="balexp.xml";

以下内容在此php页面中不起作用,并且可以在shell脚本中使用。

myvar=$1

如何将变量传递到php页面?

4 个答案:

答案 0 :(得分:4)

您需要使用数组$argv

运行以下CLI PHP,传递命令行参数:

#!/usr/bin/php
<?php
var_dump($argv);
?>

跑步时:

$ chmod u+x a.php
$ ./a.php
array(1) {
  [0]=>
  string(7) "./a.php"
}

$ ./a.php foo
array(2) {
  [0]=>
  string(7) "./a.php"
  [1]=>
  string(3) "foo"
}

$ 

显然$argv[0]包含脚本的名称,$argv[1]包含第一个命令行参数。

manual包含有关如何处理命令行参数的所有详细信息。

答案 1 :(得分:3)

#!/usr/bin/php
<?php

$myfile=$argv[1];

有关详情,请参阅$argv

答案 2 :(得分:1)

如果您register_argc_argv开启,则可以使用$argv

your_script.php haha hehe

<?
echo $argv[0]    <-- your_script.php 
$myfile=$argv[1];
echo $myfile;    <-- return haha
?>

更多详情:http://www.php.net/manual/en/features.commandline.usage.php

答案 3 :(得分:1)

您通过$ argv约定传递位置参数。请参阅http://php.net/manual/en/features.commandline.usage.php