📜  在 php 中获取输入数据(1)

📅  最后修改于: 2023-12-03 15:37:26.145000             🧑  作者: Mango

在 PHP 中获取输入数据

在 PHP 应用程序中,我们通常需要从用户收集信息。这些信息可能来自表单、 URL 参数或用户提交的文件。本文将介绍如何在 PHP 中获取这些输入数据。

从 URL 参数中获取输入数据

使用 $_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 参数、表单和上传文件的数据。但要记住,始终保持数据的安全性,仅从可信来源获取输入数据,并始终对其进行过滤和验证。