php上传文件存进数据库中 (如何将文件上传到PHP并存入数据库中?)

当我们在开发网站时,经常需要向服务器上传文件,如图片、视频、文档等。本文将介绍使用PHP将文件上传到服务器,然后将上传的文件存储到数据库中。

首先,我们需要创建一个HTML表单,让用户可以选择要上传的文件。以下是表单的基本结构:

“`html

“`

这个表单有三个重要的属性:

  • action:表单提交的地址,也就是上传文件的处理程序。
  • method:表单提交的方式,可以是 GET 或 POST,但在文件上传时必须是 POST。
  • enctype:表单数据的编码方式,如果是文件上传,必须设置为 multipart/form-data

现在,我们需要写一个PHP脚本来处理文件的上传,这个文件将接收表单的数据并将上传的文件存储到服务器上,并将文件信息存储到数据库中。以下是一个简单的PHP脚本:

“`php
<?php
// 连接数据库
$conn = mysqli_connect("localhost", "user", "password", "database");

// 检查连接
if (!$conn) {
die(“Connection failed: ” . mysqliconnecterror());
}

// 判断是否有文件上传
if (isset($FILES[“file”][“name”])) {
$filename = $
FILES[“file”][“name”];
$filetmpname = $FILES[“file”][“tmpname”];
$filesize = $FILES[“file”][“size”];
$filetype = $
FILES[“file”][“type”];
$filedata = filegetcontents($FILES[“file”][“tmpname”]);

// 插入数据库
$sql = "INSERT INTO files (filename, filetype, filesize, filedata) VALUES ('$filename', '$filetype', '$filesize', '$filedata')";
if (mysqli_query($conn, $sql)) {
    echo "File uploaded and stored in database.";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

// 存储文件到服务器
move_uploaded_file($filetmpname, "uploads/" . $filename);

} else {
echo “No file uploaded.”;
}

// 关闭连接
mysqli_close($conn);
?>
“`

上述代码中,我们首先连接到MySQL数据库。然后,我们使用 isset() 函数判断是否有文件上传。如果有,我们使用 $_FILES 超级全局数组获取上传的文件相关信息,并将文件内容存储为二进制数据。接下来,我们将文件信息插入到 files 表中。最后,我们使用 move_uploaded_file() 函数将上传的文件存储到服务器的 uploads 文件夹中。

现在,我们可以测试上传并存储文件的功能了。运行上述代码,我们可以打开上传文件的页面并选择要上传的文件。文件一旦上传成功,会在服务器的 uploads 文件夹中创建一个新的文件,同时也会将文件信息存储到数据库中。

总结一下,将文件上传到服务器并将其存储到数据库中在Web应用程序中非常有用。通过本文的介绍,希望能帮助你了解如何使用PHP处理文件上传和存储到数据库的功能。

如有侵犯您的权益请邮件发送:rainpro@foxmail.com,站长看到会第一时间处理
客栈猫 » php上传文件存进数据库中 (如何将文件上传到PHP并存入数据库中?)

提供最优质的资源集合

立即查看 了解详情