如何使用PHP的getopt函数解析类似GNU C风格的命令行选项?

更新于
2026-09-30 15:35:24
7阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计964个文字,预计阅读时间需要4分钟。

在PHP中,当我们获取命令行参数时,可以通过遍历$argv数组来获取。这实际上是有规范的,也是一种类似于GNU C风格的命令行选项解析器。例如,使用wget命令下载文件时,可以通过命令行的一些参数来指定下载选项。

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

比如使用命令wget下载文件时,使用下面的一些方式来指定option都可以

wget mengkang.net/a.jpg -O b.jpg wget mengkang.net/a.jpg -O=b.jpg wget mengkang.net/a.jpg -Ob.jpg --tries=3 -b wget mengkang.net/a.jpg -Ob.jpg --tries=3 -bvd

我们整理下command line options的规则,首先参数分为短参数名和完整参数名,而且一些还有映射关系。比如我们使用wget时,-O对应--output-document。

总结 options 使用规范

  • 短参数名,有一个限制,只能是一个char字符,只能1字节,不能超过1字节,比如上面的第四个命令的最后一个参数就不知道是一个参数还是三个参数了。
阅读全文

本文共计964个文字,预计阅读时间需要4分钟。

在PHP中,当我们获取命令行参数时,可以通过遍历$argv数组来获取。这实际上是有规范的,也是一种类似于GNU C风格的命令行选项解析器。例如,使用wget命令下载文件时,可以通过命令行的一些参数来指定下载选项。

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

比如使用命令wget下载文件时,使用下面的一些方式来指定option都可以

wget mengkang.net/a.jpg -O b.jpg wget mengkang.net/a.jpg -O=b.jpg wget mengkang.net/a.jpg -Ob.jpg --tries=3 -b wget mengkang.net/a.jpg -Ob.jpg --tries=3 -bvd

我们整理下command line options的规则,首先参数分为短参数名和完整参数名,而且一些还有映射关系。比如我们使用wget时,-O对应--output-document。

总结 options 使用规范

  • 短参数名,有一个限制,只能是一个char字符,只能1字节,不能超过1字节,比如上面的第四个命令的最后一个参数就不知道是一个参数还是三个参数了。
阅读全文