我正在尝试将文件作为Blob从表单上传到MySQL数据库。问题是max_allowed_packet是65536字节,如果文件超过那个大小,它就会被破坏。
现在我正在这样做以获取文件内容,这有效:
$certificateWaiverFile = file_get_contents($_FILES['inputCertificateWaiverFile']['tmp_name']);
然后我使用send_long_data()
将其插入db:
$stmt->send_long_data(28, $certificateWaiverFile);
虽然它到达了数据库,但它表示blob是65536字节,即使它真的是360KB。当我尝试下载它时,神秘地显示为352KB而不是65536字节。
如果我无法调整max_allowed_packet,有关如何分解文件以实际将其正确存储在数据库中的任何想法?谢谢!
答案 0 :(得分:1)
我想出了这个问题。我使用的是BLOB
而不是MEDIUMBLOB
,它将限制从64kb更改为16mb。现在我知道了!