PHP命令行操作与功能实现
1. 命令行参数解析
在PHP中,可使用 getopt()
函数来定义脚本期望的短选项和长选项。该函数的第三个可选参数通过引用传递,会被解释器解析完选项后的索引覆盖。
示例:假设脚本名为 getopt.php
,运行命令 php getopt.php -c --name Reader This is fun
,可以按如下方式解析参数:
$options = getopt("c", ["name:"]);
if (isset($options['name'])) {
$name = strtoupper($options['name']);
echo "HELLO, {$name}!" . PHP_EOL;
}
$additionalData = array_slice($argv, $index);
foreach ($additionalData as $data) {
echo strtoupper($data) . " ";
}
echo PHP_EOL;
对于带值的选项,可从结果关联数组中轻松提取。若选项不带值,关联数组中仍会设置键,但值为布尔值 false
,使用时需检查键是否存在,而不要依赖其值。
2. 读取交互式用户输入
当需要提示用户输入并将响应读取到变量中时,可采用以下几种方法:
- 使用 STDIN