如何在 PHP 中實現上傳檔案並儲存到 MySQL 資料庫

本篇 ShengYu 介紹 PHP 檔案上傳儲存到 MySQL 資料庫範例,在現代網頁應用中,檔案上傳是一個常見的需求。無論是用於使用者上傳圖片、文件,還是其他類型的檔案,掌握這一技術都非常有幫助。在這篇文章中,我們將介紹如何在 PHP 中實現檔案上傳並將其儲存到 MySQL 資料庫中。

步驟一:建立資料庫與資料表

首先,我們需要建立一個資料庫和一個用來儲存檔案資訊的資料表。以下是 SQL 語句:

1
2
3
4
5
6
7
8
9
CREATE DATABASE file_uploads;
USE file_uploads;

CREATE TABLE uploads (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
type VARCHAR(50),
data LONGBLOB
);

上述語句建立了一個名為 file_uploads 的資料庫,並在其中建立了一個名為 uploads 的資料表,用於儲存檔案的 ID、名稱、類型和資料。

步驟二:建立 HTML 表單

接下來,我們需要一個 HTML 表單,讓使用者可以選擇並上傳檔案。以下是表單的範例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>File Upload</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">選擇檔案:</label>
<input type="file" name="file" id="file">
<input type="submit" value="上傳">
</form>
</body>
</html>

這個表單使用 POST 方法並設定了 enctype="multipart/form-data",以便能夠處理檔案上傳。

步驟三:處理上傳的檔案並儲存到 MySQL

最後,我們需要一個 PHP 腳本來處理上傳的檔案並將其儲存到 MySQL 資料庫中。以下是 upload.php 的範例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "file_uploads";

// 建立連接
$conn = new mysqli($servername, $username, $password, $dbname);

// 檢查連接
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}

if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["file"])) {
// 取得檔案資訊
$fileName = $_FILES["file"]["name"];
$fileType = $_FILES["file"]["type"];
$fileData = file_get_contents($_FILES["file"]["tmp_name"]);

// 準備 SQL 語句
$stmt = $conn->prepare("INSERT INTO uploads (name, type, data) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $fileName, $fileType, $fileData);

// 執行 SQL 語句
if ($stmt->execute()) {
echo "檔案上傳成功";
} else {
echo "檔案上傳失敗: " . $stmt->error;
}

// 關閉語句與連接
$stmt->close();
}

$conn->close();
?>

總結

以上步驟詳細介紹了如何在 PHP 中實現檔案上傳並將其儲存到 MySQL 資料庫中。透過建立資料表、設計上傳表單以及編寫處理檔案上傳的 PHP 腳本,我們可以輕鬆地完成這一功能。希望這篇文章對你有所幫助!

以上就是 PHP 檔案上傳儲存到 MySQL 資料庫範例介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其它相關文章推薦
如果你想學習 PHP 相關技術,可以參考看看下面的文章,
如何使用 PHP 上傳檔案:步驟與範例指南
PHP 和 PDO 進行資料庫操作
PHP 執行發生錯誤在 Chrome/Firefox 上顯示 Error 500,要怎麼讓 PHP 顯示錯誤
PHP實現圖片上傳與顯示功能的完整指南
如何使用 PHP 上傳圖片儲存到 MySQL 資料庫並顯示圖片