利用PHP 在MySQL BLOB 中有效儲存.pdf 檔
在MySQL 資料庫中儲存二進位大物件(BLOB),例如.pdf文件使用PHP 會引發有關最佳方法的問題。在本文中,我們將深入研究針對這項常見挑戰的強大解決方案。
解決方案:
假設您有一個包含ID 和DATA 列的資料庫表對於儲存BLOB,請考慮採用以下技術:
<code class="php">$result = mysql_query('INSERT INTO table ( data ) VALUES ( \'' . mysql_real_escape_string(file_get_contents('/path/to/the/file/to/store.pdf')) . '\' );');</code>
注意事項:
在資料庫中儲存BLOB 會帶來潛在的缺點,例如表格膨脹和高效檢索方面的挑戰。因此,建議的策略是將檔案重新定位到檔案系統位置並將其路徑儲存在資料庫中以供檢索。
棄用和現代替代方案:
請注意,提供的程式碼已過時,不適合 PHP 7 及更高版本。強烈建議採用現代資料庫存取方法,如 mysqli 或 PDO,而不是已棄用的 mysql_* 函數。
mysqli 範例:
在流程模式下使用mysqli,您可以使用下列程式碼實現相同的功能:
<code class="php">$result = mysqli_query($db, 'INSERT INTO table ( data ) VALUES ( \'' . mysqli_real_escape_string(file_get_contents('/path/to/the/file/to/store.pdf'), $db) . '\' );');</code>
首選方法:
為了獲得最佳效能和安全性,請考慮利用MySQLI 或PDO 準備好的語句來插入BLOB進入你的MySQL 資料庫。這不僅保證了效率,又可以防止 SQL 注入攻擊。
以上是如何使用 PHP 在 MySQL 中有效地將 .pdf 檔案儲存為 BLOB?的詳細內容。更多資訊請關注PHP中文網其他相關文章!