【问题标题】:Reading positional parameters using PHP使用 PHP 读取位置参数
【发布时间】:2010-12-21 06:17:41
【问题描述】:

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

#!/usr/bin/php
<?php

$myfile="balexp.xml";

以下内容在此 php 页面中不起作用,但在 shell 脚本中起作用。

myvar=$1

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

【问题讨论】:

  • 确保 register_argc_argv 已启用

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


【解决方案1】:

你需要使用数组$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 包含有关如何处理命令行参数的所有详细信息。

【讨论】:

    【解决方案2】:
    #!/usr/bin/php
    <?php
    
    $myfile=$argv[1];
    

    请参阅$argv 了解更多信息。

    【讨论】:

      【解决方案3】:

      如果你打开了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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-08-15
          • 2015-05-04
          • 2011-09-28
          • 2017-02-24
          • 2018-08-15
          • 1970-01-01
          • 2011-11-12
          相关资源
          最近更新 更多