上传时出错&使用MySQL LONGBLOB下载二进制文件

时间:2013-07-14 15:59:31

标签: php mysql file binary blob

我在托管的MySQL数据库中使用LONGBLOG字段进行上传和播放下载附件。我使用了http://mirificampress.com/permalink/saving_a_file_into_mysql中的示例代码,并将文件上传到数据库中(尽管无法检查文件中的每个字节)。

下载这些文件时遇到问题:txt文件没问题,但是JPEG或PDF文件等二进制文件总是有错误。这些二进制文件中的字节在上载或下载期间或两者中都已更改。

我认为这可能是整理问题,但无法修复。

有人可以提出任何建议吗?

1 个答案:

答案 0 :(得分:0)

您链接页面上的示例非常错误。它使用addslashes()作为MySQL的转义函数,另外还没有正确清理魔术引号。

请勿使用此示例。

如果您使用file_get_contents()读取所有字节,您只需在其上使用mysqli_real_escape_string()并将其放入字符串字段中。

Longblobs没有编码,因此这不应该是一个问题,但将数据库连接的编码设置为正确的值总是一个好主意。