要將視頻文件上傳到數據庫,首先需要創建一個用于存儲視頻文件的表,其中包含一個用于存儲文件數據的列。以下是一個示例的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>
請注意,上述示例中的數據庫連接和表名稱需要根據實際情況進行修改。另外,這種方法適用于較小的視頻文件,如果要上傳大型視頻文件,建議使用其他方法,如將視頻文件存儲在服務器上,并在數據庫中存儲文件的路徑。