欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php mySql pdf下載

王浩然1年前6瀏覽0評論
在現今的互聯網時代,PDF 文件的使用越來越普遍,無論是學習、工作、還是日常生活中,都能用到 PDF 文檔。那么如何在 PHP 中通過 MySQL 查詢得到一個 PDF 文件,并且使其可以被用戶下載呢?本文將介紹如何使用 PHP 和 MySQL 實現 PDF 下載功能。 首先,我們需要在 MySQL 數據庫中保存 PDF 文件,并在后臺編寫 PHP 代碼,使其能夠讀取數據庫中保存的文件內容,并將其呈現給用戶。 在數據庫中,我們需要將 PDF 文件存儲在一個 BLOB 類型的字段中。這種類型的字段能夠存儲大容量的二進制數據,例如圖像、音頻、視頻、以及 PDF 文件。下面是一個示例的 MySQL 表:
CREATE TABLE `files` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`content` longblob NOT NULL,
`mime_type` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
其中,`id` 是記錄的主鍵,`name` 存儲文件名,`content` 存儲文件內容,`mime_type` 存儲文件的 MIME 類型。在存儲文件時,我們需要使用 PHP 的 file_get_contents 函數,將 PDF 文件讀入內存中,并將其保存到數據庫中。下面是一個示例代碼:
// 讀取文件內容
$content = file_get_contents('example.pdf');
// 對文件內容進行轉義,防止 SQL 注入攻擊
$content = addslashes($content);
// 獲取文件類型
$mime_type = mime_content_type('example.pdf');
// 將文件內容保存到數據庫中
$sql = "INSERT INTO files (name, content, mime_type) VALUES ('example.pdf', '$content', '$mime_type')";
$db->query($sql);
在執行 INSERT 操作時,我們需要使用 addslashes 函數對文件內容進行轉義,防止 SQL 注入攻擊。同時,我們還需要使用 mime_content_type 函數獲取文件的 MIME 類型,以便在用戶下載文件時可以正確地設置 Content-Type 頭信息。 接下來,我們需要編寫一個 PHP 下載腳本,將數據庫中保存的 PDF 文件讀取出來,并將其發送給用戶。下面是一個示例代碼:
// 獲取文件 ID
$id = $_GET['id'];
// 查詢數據庫,獲取文件內容和文件名
$sql = "SELECT content, name, mime_type FROM files WHERE id = $id";
$result = $db->query($sql);
$row = $result->fetch_assoc();
$content = $row['content'];
$name = $row['name'];
$mime_type = $row['mime_type'];
// 設置 Content-Type 頭信息
header('Content-Type: ' . $mime_type);
// 設置 Content-Disposition 頭信息,使瀏覽器提示用戶下載
header('Content-Disposition: attachment; filename="' . $name . '"');
// 輸出文件內容
echo $content;
在下載腳本中,我們首先獲取用戶傳遞的文件 ID,并通過數據庫查詢獲取文件內容、文件名和文件 MIME 類型。然后,我們通過設置 Content-Type 和 Content-Disposition 頭信息,將文件呈現給用戶。 以上就是如何使用 PHP 和 MySQL 實現 PDF 下載功能的方法。無論是管理系統、電商平臺還是社交媒體等網站,都可以使用這個方法讓用戶方便地下載和使用 PDF 文件。