【问题标题】:PHP/MySQLi - file_get_contents() exceeds Max Allowed PacketPHP/MySQLi - file_get_contents() 超过最大允许数据包
【发布时间】:2013-11-14 02:39:14
【问题描述】:

我正在尝试将文件作为 Blob 从表单上传到 MySQL 数据库。问题是 max_allowed_pa​​cket 是 65536 字节,如果文件超过该大小,它就会损坏。

现在我这样做是为了获取文件内容,这很有效:

$certificateWaiverFile = file_get_contents($_FILES['inputCertificateWaiverFile']['tmp_name']);

然后我使用send_long_data() 将其插入到数据库中:

$stmt->send_long_data(28, $certificateWaiverFile);

不过,一旦它到达数据库,它就会说 blob 是 65536 字节,尽管它实际上是 360KB。当我尝试下载它时,它神秘地显示为 352KB 而不是 65536 字节。

假设我无法调整 max_allowed_pa​​cket,关于如何分解文件以实际将其正确存储在数据库中的任何想法?谢谢!

【问题讨论】:

标签: php mysql mysqli


【解决方案1】:

我发现了这个问题。我使用的是BLOB 而不是MEDIUMBLOB,它将限制从64kb 更改为16mb。现在我知道了!

【讨论】:

    猜你喜欢
    • 2014-09-02
    • 2023-04-07
    • 2022-07-12
    • 2017-11-21
    • 2021-11-03
    • 2020-07-01
    • 2018-02-27
    • 1970-01-01
    • 2011-05-25
    相关资源
    最近更新 更多