我正在托管 MySQL 数据库中使用 LONGBLOG
字段来上传和下载附件。我使用了 http://mirificampress.com/permalink/saving_a_file_into_mysql 中找到的示例代码,并已将文件上传到数据库中(尽管无法检查文件中的每个字节)。
我在下载这些文件时遇到了问题:txt 文件没问题,但 JPEG 或 PDF 文件等二进制文件总是出错。这些二进制文件中的字节在上传或下载期间或两者期间都已更改。
我认为这可能是排序问题,但无法修复。
谁能给点建议吗?
最佳答案
您链接页面上的示例是非常错误的。它使用 addslashes()
作为 MySQL 的转义函数,此外也无法正确清理魔术引号。
请勿使用此示例。
如果您使用file_get_contents()
读取所有字节,您所要做的就是对其使用mysqli_real_escape_string()
并将其放入字符串字段中。
Longblob 没有编码,因此这在这里应该不是问题,但将数据库连接的编码设置为正确的值始终是一个好主意。
关于php - 使用 MySQL LONGBLOB 上传和下载二进制文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17641050/