利用 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中文网其他相关文章!