温馨提示×

php如何上传视频文件到数据库

小亿
117
2023-08-14 17:25:01
栏目: 编程语言

要将视频文件上传到数据库,首先需要创建一个用于存储视频文件的表,其中包含一个用于存储文件数据的列。以下是一个示例的MySQL表定义:

CREATE TABLE videos (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
file LONGBLOB
);

然后,需要创建一个能够处理文件上传的PHP脚本。下面是一个示例的上传脚本:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// 检查文件是否上传成功
if ($_FILES["video"]["error"] == UPLOAD_ERR_OK) {
$name = $_FILES["video"]["name"];
$tmp_name = $_FILES["video"]["tmp_name"];
// 读取文件内容
$file = fopen($tmp_name, "rb");
$content = fread($file, filesize($tmp_name));
fclose($file);
// 连接到数据库
$conn = mysqli_connect("数据库主机名", "用户名", "密码", "数据库名");
// 将文件数据插入到数据库
$query = "INSERT INTO videos (name, file) VALUES (?, ?)";
$stmt = mysqli_prepare($conn, $query);
mysqli_stmt_bind_param($stmt, "ss", $name, $content);
mysqli_stmt_execute($stmt);
// 关闭数据库连接
mysqli_stmt_close($stmt);
mysqli_close($conn);
echo "文件上传成功!";
} else {
echo "文件上传失败!";
}
}
?>
<form method="POST" enctype="multipart/form-data">
<input type="file" name="video">
<input type="submit" value="上传">
</form>

请注意,上述示例中的数据库连接和表名称需要根据实际情况进行修改。另外,这种方法适用于较小的视频文件,如果要上传大型视频文件,建议使用其他方法,如将视频文件存储在服务器上,并在数据库中存储文件的路径。

0