php在CLI模式下传入值的几种方法
php本身是一种脚本语言,在命令行环境中可以高效的进行一些操作,但是在CLI(命令行界面 Command Line Interface)如何传入值呢?
下面介绍本人知道的3种方法。
一 . getopt (注意:PHP 4 >= 4.3.0, PHP 5)
我们建立如下文件:test.php
$opt= getopt('m:n:'); // $value_m= $opt['m']; // $value_n= $opt['n']; print_r($opt);
然后运行命令
php test.php -mvaluem -n value n
结果如下:
详情请看手册 :http://www.php.net/manual/zh/function.getopt.php
二. $argv
我们修改一下刚才的test.php文件,内容改成如下:
if($argc> 1){ var_dump($argv); }
运行
php test.php 1 2 c
结果如下:
详情参见手册:http://www.php.net/manual/zh/reserved.variables.argv.php
三. linux的STDIN
在linux中
stdout标准输出,默认是终端 stdin 标准输入,默认是键盘 stderr 标准错误输出,默认是终端
所以,我们修改刚才的test.php文件
fwrite(STDOUT, "Enter your name: "); $name = trim(fgets(STDIN)); fwrite(STDOUT, "Hello, $name!");
我们运行
php test.php
此时屏幕输出:Enter your name:
我们在后面输入:tiyee然后回车
此时屏幕会出现Hhellow,tiyee