如何使用PHP將PDF文件存儲在MySQL數據庫中?如何在mysql中存儲pdf
回答
使用類型BLOB。
繼承人在BLOB字段的example in php
...?但爲什麼你需要它?
因爲我們無法允許上傳文件的用戶。 – user389055 2010-09-24 09:33:00
這實際上並不是一個好的理由。文件仍將被上傳。這只是你如何存儲它的問題。 – AlexanderMP 2010-09-24 09:34:40
使用BLOB(二進制大對象)(longblob
數據類型)
$fileHandle = fopen($fileUpload, "r");
$fileContent = fread($fileHandle, $fileUpload_size);
$fileContent = addslashes($fileContent);
$dbQuery = "INSERT INTO myBlobs VALUES ";
$dbQuery .= "('$fileContent')";
可用here
但完整的教程我們強烈建議您存儲在文件系統中的文件,只是在添加一個引用DB(具有文件路徑和名稱的字段)。有幾個原因:
- 更快
- 更容易獲得(不需要任何特殊的應用程序)
- 更快的備份速度
- 不佔空間
正如其他人所提到的,你可以使用一個BLOB類型。
或者,你也可以做的是保存在文件系統中的PDF並保存相關鏈接到數據庫中。這與用於保存諸如縮略圖和其他數據類型的東西相同的原理可能對用戶是獨特的,並且在資源方面是昂貴的。
如果你只是希望存儲在服務器上上傳PDF文件,這是較常用到的文件複製到指定目錄中唯一的文件名,並簡單地存儲在你的MySQL表文件的完整路徑。
如果您確實希望將文件的完整二進制數據存儲在MySQL數據庫中,那麼您將需要做更多的工作來將二進制數據放入MySQL中的BLOB字段,然後將其返回當您稍後再次將其拉出時,將其轉換爲文件。
你可能會想不僅存儲在你的MySQL表文件的二進制數據,而且文件名,文件類型和文件的甚至可能是大小(在您的網頁列表)。你可能會想要一個表格,如;
CREATE TABLE files (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
filename VARCHAR(128) NOT NULL,
mimetype VARCHAR(64) NOT NULL,
data MEDIUMBLOB NOT NULL
);
在你的PHP中,你可以插入一個上傳的文件,如下所示:
$filePointer = fopen($_FILES['fileUpload']['tmp_name'], 'r');
$fileData = fread($filePointer, filesize($_FILES['fileUpload']['tmp_name']));
$fileData = addslashes($fileData);
$sql = "INSERT INTO files (filename, mimetype, data) VALUES($fileName, $fileType, $fileData)";
回來了再次獲得該文件將要求選擇適當的文件,然後專用腳本使用了一系列的「頭」命令,以推動該文件回落到瀏覽器的形式瀏覽器知道如何處理它。
你可以閱讀關於這個here一個完整的教程。
- 1. 將PDF存儲在MySQL數據庫中
- 2. 如何從PDF中提取數據並存儲在MySQL中
- 3. 如何在Filenet中存儲pdf文檔
- 4. PDF如何存儲文本
- 5. 在Solr中存儲PDF
- 6. 如何在MySQL中存儲鍵值對?
- 7. 如何在MySQL中存儲unicode?
- 8. Java:如何在MySQL中存儲MediumBlob
- 9. 如何在MySQL中存儲Nokogiri xpath
- 10. 如何在mysql中存儲html代碼?
- 11. 如何在MySQL中存儲JSON laravel
- 12. 如何在MySQL中存儲varbinary?
- 13. 如何在mysql中存儲常量
- 14. 如何在MySQL中存儲圖片?
- 15. 如何在mysql中存儲joda.money
- 16. 如何在MySQL中存儲時間
- 17. 你如何在MySQL中存儲零點
- 18. 如何在MySQL中存儲文章?
- 19. 如何在MySQL中存儲blob(圖像)?
- 20. 如何在mysql中存儲圖像?
- 21. 如何在MySQL中存儲小數?
- 22. PHP:如何在MySQL中存儲HTML?
- 23. 如何將datetime值存儲在mysql中?
- 24. nhibernate如何將TimeSpan存儲在Mysql中?
- 25. 如何在MySQL中存儲zip文件?
- 26. 如何在MySQL中存儲URL
- 27. 如何在MySQL中存儲crc32?
- 28. 如何在MYsql中存儲複選框?
- 29. 如何將pdf文件存儲在谷歌雲存儲上?
- 30. 如何:使用C#將pdf文件存儲並提取到mysql#
因爲我們無法允許上傳PDF格式的users..so我們要存儲db..i的PDF不知道這什麼東西...... – user389055 2010-09-24 09:34:57