📅  最后修改于: 2023-12-03 15:37:26.145000             🧑  作者: Mango
在 PHP 应用程序中,我们通常需要从用户收集信息。这些信息可能来自表单、 URL 参数或用户提交的文件。本文将介绍如何在 PHP 中获取这些输入数据。
使用 $_GET
变量可以从 URL 中获取输入参数。例如,如果 URL 是 http://example.com/?name=John
,则可以使用以下代码获取 name
参数的值:
$name = $_GET['name'];
echo $name; // 输出 "John"
如果您尝试从 URL 中获取未定义的参数,将会产生 Undefined index
错误。为了避免这种情况,您可以使用 isset
函数检查变量是否已定义:
if (isset($_GET['name'])) {
$name = $_GET['name'];
echo $name;
} else {
echo "Name parameter not found";
}
使用 $_POST
变量可以从网页表单中获取输入数据。例如,使用以下 HTML 表单:
<form method="post" action="process.php">
<input type="text" name="name">
<input type="submit">
</form>
在 process.php
中,您可以使用以下代码获取 name
参数的值:
$name = $_POST['name'];
echo $name;
如果您尝试从表单中获取未定义的参数,将会产生 Undefined index
错误。为了避免这种情况,您可以使用 isset
函数检查变量是否已定义,就像从 URL 参数中获取输入数据一样。
如果您的用户需要上传文件,您可以使用 $_FILES
变量接收上传文件的相关信息。以下是一个文件上传表单的示例:
<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="file" name="file">
<input type="submit">
</form>
在 upload.php
中,您可以使用以下代码获取上传文件的信息:
$file = $_FILES['file'];
echo $file['name']; // 文件名
echo $file['type']; // MIME 类型
echo $file['size']; // 文件大小
上传文件本身并不会被放置在 $_FILES
中,而是在服务器上的临时目录中。要将文件保存到永久存储位置,您需要使用 move_uploaded_file
函数:
$temp_path = $_FILES['file']['tmp_name'];
$dest_path = "/path/to/destination/folder/" . $_FILES['file']['name'];
move_uploaded_file($temp_path, $dest_path);
在 PHP 中获取输入数据通常涉及三个变量:$_GET
、$_POST
和 $_FILES
。使用这些变量可以轻松获取来自 URL 参数、表单和上传文件的数据。但要记住,始终保持数据的安全性,仅从可信来源获取输入数据,并始终对其进行过滤和验证。