溫馨提示×

php如何上傳視頻文件到數(shù)據(jù)庫

小億
117
2023-08-14 17:25:01
欄目: 編程語言

要將視頻文件上傳到數(shù)據(jù)庫,首先需要創(chuàng)建一個用于存儲視頻文件的表,其中包含一個用于存儲文件數(shù)據(jù)的列。以下是一個示例的MySQL表定義:

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

然后,需要創(chuàng)建一個能夠處理文件上傳的PHP腳本。下面是一個示例的上傳腳本:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// 檢查文件是否上傳成功
if ($_FILES["video"]["error"] == UPLOAD_ERR_OK) {
$name = $_FILES["video"]["name"];
$tmp_name = $_FILES["video"]["tmp_name"];
// 讀取文件內(nèi)容
$file = fopen($tmp_name, "rb");
$content = fread($file, filesize($tmp_name));
fclose($file);
// 連接到數(shù)據(jù)庫
$conn = mysqli_connect("數(shù)據(jù)庫主機(jī)名", "用戶名", "密碼", "數(shù)據(jù)庫名");
// 將文件數(shù)據(jù)插入到數(shù)據(jù)庫
$query = "INSERT INTO videos (name, file) VALUES (?, ?)";
$stmt = mysqli_prepare($conn, $query);
mysqli_stmt_bind_param($stmt, "ss", $name, $content);
mysqli_stmt_execute($stmt);
// 關(guān)閉數(shù)據(jù)庫連接
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>

請注意,上述示例中的數(shù)據(jù)庫連接和表名稱需要根據(jù)實(shí)際情況進(jìn)行修改。另外,這種方法適用于較小的視頻文件,如果要上傳大型視頻文件,建議使用其他方法,如將視頻文件存儲在服務(wù)器上,并在數(shù)據(jù)庫中存儲文件的路徑。

0