使用 PHP 在 MySQL 中将 PDF 文件存储为 BLOB
使用 PHP 在 MySQL 中将 PDF 文件存储为 BLOB(二进制大型对象)的一种方法就是利用MySQL的函数与数据库进行交互。下面是演示此方法的代码片段:
<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 代码和弃用说明
需要注意的是,提供的代码示例使用已弃用的 mysql_* 函数。这些函数不再推荐,并在 PHP 7 中被完全删除。为了避免潜在的错误,必须切换到更现代的替代方案,例如用于数据库抽象的 MySQLi 或 PDO。
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 准备语句
为了获得最佳性能和安全性,建议使用 MySQLi 或 PDO 以及准备好的语句在 MySQL 中存储 BLOB。
以上是如何使用 PHP 替代方案在 MySQL 中安全地将 PDF 文件存储为 BLOB?的详细内容。更多信息请关注PHP中文网其他相关文章!