📅  最后修改于: 2023-12-03 15:08:44.374000             🧑  作者: Mango
在 PHP 中,要想向用户请求输入,有多种方法可供选择。以下是其中一些常见的方法。
readline()
readline()
函数可以让你从标准输入(通常是终端)中读取一行用户输入。例如:
<?php
$input = readline("请输入你的名字:");
echo "你好,$input!\n";
?>
这段代码就会向用户请求输入名字,并在终端中显示一个提示符(“请输入你的名字:”),等待用户输入。用户输入的内容会被保存到 $input
变量中,并通过 echo
语句输出。
请注意,readline()
函数只在 PHP 7.4 及以上版本中可用。如果你的 PHP 版本较旧,你可以考虑使用其他方法。
fgets()
fgets()
函数可以从一个打开的文件指针中读取一行。如果你将标准输入(即 stdin
)作为文件指针打开,则可以使用 fgets()
获取用户输入。例如:
<?php
$fp = fopen("php://stdin", "r");
$input = fgets($fp);
echo "你输入了:$input\n";
?>
在这个例子中,我们先调用 fopen()
函数将标准输入打开为一个文件指针,打开模式为只读("r"
)。然后使用 fgets()
函数从这个文件指针中读取一行用户输入,并将其保存到 $input
变量中。最后,使用 echo
输出用户输入的内容。
fgets()
结合 fgets(STDIN)
对于使用 PHP CLI(命令行界面)的用户来说,还有一个更简单的方法,那就是通过 fgets(STDIN)
直接从标准输入中读取一行。例如:
<?php
$input = fgets(STDIN);
echo "你输入了:$input\n";
?>
在这个例子中,我们没有调用 fopen()
函数打开文件指针,而是直接使用了内置的 STDIN
常量,并将其作为参数传递给 fgets()
函数。这样可以更方便地从标准输入中获取用户输入。
如果你写的是 Web 应用程序,那么可以使用 HTML 表单来请求用户输入。例如:
<form method="post" action="process.php">
<label for="name">请输入你的名字:</label>
<input type="text" name="name" id="name">
<input type="submit" value="提交">
</form>
这个表单将包含一个文本框,用户可以输入他们的名字。当用户单击提交按钮时,表单数据将被发送到 process.php
脚本中,你可以在脚本中使用 $_POST
变量来获取用户输入的值。例如:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
echo "你好,$name!";
}
?>
这个脚本首先检查 HTTP 请求的方法是否为 POST,如果是,就从 $_POST
变量中获取输入的名字,然后使用 echo
输出。您还可以设置一个 method="get"
的表单去处理 GET 请求。
请求用户输入是编写任何交互式 Web 或 CLI 应用程序的关键部分。本文介绍了在 PHP 中请求用户输入的一些方法,包括 readline()
、fgets()
、fgets(STDIN)
、以及 HTML 表单提交。使用这些方法,您可以轻松地从用户那里获取输入,并在您的代码中加以利用。