php获取文件后传到数据库 (如何将PHP获取的文件传输到数据库?)

在Web开发过程中,文件上传是一个非常常见的需求。而将上传的文件保存到数据库中也是很常见的需求。本文将介绍如何使用PHP获取文件并将其传输到数据库中。

首先,我们需要一个包含文件上传表单的HTML文件。在该文件中,我们需要创建一个提交按钮和一个type为”file”的表单元素,用于选择要上传的文件。

“`html

“`

接下来,我们需要使用PHP编写一个处理上传的脚本。该脚本将从上传表单中获取文件,然后将文件数据插入到数据库中。以下是实现这个过程的步骤:

  1. 获取上传的文件:首先,我们需要使用$FILES数组来获取上传的文件。$FILES数组是PHP内置的全局变量,用于存储上传的文件信息。

php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

  1. 将文件插入到数据库中:接下来,我们需要将文件插入到数据库中。根据不同的情况,我们可以使用不同的方法插入文件数据。例如,如果我们需要将文件保存为BLOB类型,可以使用以下代码:

“`php
$fp = fopen($FILES[‘fileToUpload’][‘tmpname’], ‘r’);
$data = fread($fp, filesize($FILES[‘fileToUpload’][‘tmpname’]));
$data = addslashes($data);
fclose($fp);

$query = “INSERT INTO files (name, size, type, data) VALUES (‘$name’, ‘$size’, ‘$type’, ‘$data’)”;
mysqli_query($conn, $query);
“`

  1. 完整的上传处理脚本:下面是一个完整的上传处理脚本,其中包括从表单中获取文件、保存文件到服务器和将文件数据插入到数据库的完整代码。

“`php
<?php

$servername = “localhost”;
$username = “root”;
$password = “”;
$dbname = “myDB”;

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connecterror) {
die(“连接失败: ” . $conn->connect
error);
}

// 获取上传的文件
$name = $FILES[‘fileToUpload’][‘name’];
$size = $
FILES[‘fileToUpload’][‘size’];
$type = $_FILES[‘fileToUpload’][‘type’];

$tmpname = $FILES[‘fileToUpload’][‘tmpname’];
$fp = fopen($tmp
name, ‘r’);
$content = fread($fp, filesize($tmp_name));
$content = addslashes($content);
fclose($fp);

// 将文件插入到数据库中
$query = “INSERT INTO files (name, size, type, data) VALUES (‘$name’, ‘$size’, ‘$type’, ‘$content’)”;
mysqli_query($conn, $query);

echo “文件已上传!”;

?>
“`

现在,我们已经知道了如何使用PHP获取文件并将其传输到数据库中。通过使用上述代码,您可以轻松地实现从HTML表单中上传文件并将其保存到数据库中。

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

提供最优质的资源集合

立即查看 了解详情