C风格命令行选项_php实例_脚本之家,PHP基础之脚本传参

在 PHP
中,当我们在收获命令行参数时,可以透过遍历$argv来取得,其实呢是有正统可循的,也正是GNU C-style parser for command line options 。

PHP根底之脚本传参

常备PHP都做http方式号召了,能够运用GET or
POST格局采纳参数,某个时候需求在shell命令下把PHP充当脚本推行,比方准时义务。那就涉及到在shell命令下什么样给php传参的标题,日常常有二种方法传参。

譬喻说利用命令wget下载文件时,使用上边包车型地铁一部分办法来钦赐option都得以

1. 应用$argv or $argc参数接纳

#$argv, 所有参数的数组,默认第一个为文件名,若要取到第一个参数则:$argv[1]
#$argc, 所有参数总和,相当于 count($argv)
wget http://mengkang.net/a.jpg -O b.jpgwget http://mengkang.net/a.jpg -O=b.jpgwget http://mengkang.net/a.jpg -Ob.jpg --tries=3 -bwget http://mengkang.net/a.jpg -Ob.jpg --tries=3 -bvd

2. 使用getopt函数

  • 函数:

    array getopt ( string $options [, array $longopts ] )

  • 参数:

    • options
      该字符串中的各样字符会被看作选项字符,相配传入脚本的选项以单个连字符(-卡塔尔国起首。
      举例,二个增选字符串 “x” 识别了多少个增选 -x。 只同意 a-z、A-Z 和
      0-9。
    • longopts 选项数组。
      此数组中的每一个成分会被用作接收字符串,匹配了以七个连字符(–卡塔尔(قطر‎传入到剧本的选项。
      举例,长选项成分 “opt” 识别了三个筛选 –opt。

    • options 恐怕含有了以下因素:

      • 独立的字符(不接收值)
      • 后边紧跟着冒号的字符(此选项必要值)
      • 前边紧跟着多少个冒号的字符(此选项的值可选)

    $opt = getopt(“s::p:m:habc”,array(‘debug:’,’again::’, ‘help’));

大家整理下command line
options的法规,首先参数分为短参数名和完全参数名,何况有的还会有映射关系。比方我们选择wget时,-O对应–output-document。

3. 升迁客商输入

  • 直白读取标准输入数据,写入典型输出

    • STDOUT 典型输出
    • STDIN 标准输入

    fwrite(STDOUT,’请输入您的博客名:’State of Qatar;
    echo ‘您输入的信息是:’.fgets(STDIN卡塔尔(قطر‎;

总计 options 使用正式

短参数名,有二个范围,只好是二个char字符,只好1字节,无法当先1字节,例如上边的第八个指令的最终二个参数就不知道是三个参数仍旧四个参数了。
短参数名用单个连字符开首 短参数能够三个-前边跟多少个参数名
长参数名,则是多字节的的,五个连字符开首行插手实参之间,能够从来连接,也得以用空格隔离,还足以用等号连接
参数分为未有值,必得传值,可选传值

在 PHP 中的使用

getopt ( string $options [, array $longopts [, int &$optind ]] ) : array

$options
短参数字符列表,参数字符前边用:标记必需传值;参数字符前边用::标记可选传值;独有参数字符表示该参数不接纳传值

发表评论

电子邮件地址不会被公开。 必填项已用*标注