php执行http请求时,可使用GET或POST请求,但在shell命令行下没法使用。
如下为命令行下的三种传值方式php
php代码数组
<?php var_dump($argc); var_dump($argv);
shell命令函数
//sh命令 php index.php a b c //结果 Array( [0] => index.php [1] => a [2] => b [3] => c )
getopt(): 从命令行参数列表中获取选项.net
// 使用格式 array getopt ( string $options [, array $longopts [, int &$optind ]] ) //参数 1.options : 该字符串中的每一个字符会被当作选项字符,匹配传入脚本的选项以单个连字符(-)开头。 好比,一个选项字符串 "x" 识别了一个选项 -x。 只容许 a-z、A-Z 和 0-9。 1.1单独的字符(不接受值) 1.2后面跟随冒号的字符(此选项须要值) 1.3后面跟随两个冒号的字符(此选项的值可选) 2.longopts:选项数组。此数组中的每一个元素会被做为选项字符串,匹配了以两个连字符(--)传入到脚本的选项。 例如,长选项元素 "opt" 识别了一个选项 --opt。 3.optind:若是OPTIND参数存在,那么指数参数解析中止将写入该变量。 //注意:选项的值不接受空格(" ")做为分隔符。
php代码命令行
<?php $params = getopt("a:b:"); var_dump($params);
shell命令code
//sh命令 php index.php -a 1 -b 2 //结果 array( [a] => 1 [b] => 2 )
<?php //提示用户输入,相似Python fwrite(STDOUT,'请输入您的博客名:'); echo '您输入的信息是:'.fgets(STDIN);
php代码字符串
<?php // 提示用户输入,相似Python $fs = true; do{ if($fs){ fwrite(STDOUT,'请输入您的博客名:'); $fs = false; }else{ fwrite(STDOUT,'抱歉,博客名不能为空,请从新输入您的博客名:'); } $name = trim(fgets(STDIN)); }while(!$name); echo '您输入的信息是:'.$name."\r\n";
shell命令行get
[root@DELL113 lee]# /usr/local/php/bin/php test.php 请输入您的名称: test 您输入的信息是: test