Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/MySQLi-file_get_contents()超过了允许的最大数据包数_Php_Mysql_Mysqli - Fatal编程技术网

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

PHP/MySQLi-file_get_contents()超过了允许的最大数据包数,php,mysql,mysqli,Php,Mysql,Mysqli,我试图将一个文件作为Blob从表单上传到MySQL数据库中。问题是允许的最大数据包是65536字节,如果文件超过这个大小,它就会损坏 现在,我这样做是为了获取文件内容,它可以工作: $certificateWaiverFile = file_get_contents($_FILES['inputCertificateWaiverFile']['tmp_name']); 然后我使用send_long_data()将其插入数据库: $stmt->send_long_data(28, $cer

我试图将一个文件作为Blob从表单上传到MySQL数据库中。问题是允许的最大数据包是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_数据包,那么我可以如何分解文件以将其正确存储在DB中?谢谢

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

这可能会有帮助:您不能调整允许的最大数据包吗?如果可以,这可能会有所帮助:-否则showdev的答案看起来很棒。