PHP/MySQLi - file_get_contents() 超出允许的最大数据包数

标签 php mysql mysqli

我正在尝试将文件作为 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,关于如何分解文件以实际将其正确存储在数据库中的任何想法?谢谢!

最佳答案

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

关于PHP/MySQLi - file_get_contents() 超出允许的最大数据包数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19961084/

相关文章:

php - 尝试从命名空间加载类。您是否忘记了另一个命名空间的 "use"语句?与供应商 php 命名空间

php - 如何在 Symfony2 中禁用一个转换器验证错误 "dynamically"

php - 我的 mysqli 代码有什么问题?

php - INSERT INTO mysqli 返回非对象

php - 一切都很顺利,除非它给了我一个真实的结果并且没有任何改变

php - Woocommerce - 如何实现缩略图的灰色覆盖效果?

php - 查询的奇怪行为

php - 元搜索查询问题

PHP,SELECT 在同一脚本中插入后不返回值

mysql - SQL:如何根据第三个字段选择两个字段之一