解决方案 #1:在任何代码中提示获取输入:
<?php
echo "What do you want to input? ";
$input = rtrim(fgets(STDIN));
echo "I got it:\n" . $input;
示例输出:
# php test.php
What do you want to input? Hello, I'm here!
I got it:
Hello, I'm here!
解决方案#2:如果你想在运行 php 时首先内联输入:
<?php
$input = $argv[1];
echo "I got it:\n" . $input;
示例输出:
# php test.php "Hello, I'm here!"
I got it:
Hello, I'm here!
额外提示:
如果你想集成 CLI 和 WEB 输入,你可以使用这个神奇的代码:
<?php
if (PHP_SAPI === 'cli') parse_str(implode('&', array_slice($argv, 1)), $_GET);
var_dump($_GET);
现在写在 CLI 下使用:
# php sample.php user=nabikaz website=nabi.ir
并遵循 WEB 的正常程序:
http://localhost/sample.php?user=nabikaz&website=nabi.ir
没有定义输入的数量和名称。
两者的结果相同。 ;-)
array(2) {
["user"]=>
string(7) "nabikaz"
["website"]=>
string(7) "nabi.ir"
}