我想将最大大小为10MB的大文件上传到我的MySQL数据库.使用.htaccess
我将PHP自己的文件上传限制更改为"10485760"= 10MB.我可以毫无问题地上传最大10MB的文件.
但是如果文件大小超过1 MB,我就无法在文件中插入该文件.
我正在使用file_get_contents
读取所有文件数据并将其作为要插入LONGBLOB字段的字符串传递给插入查询.
但是大于1 MB的文件不会添加到数据库中,但我可以使用它print_r($_FILES)
来确保正确上载文件.任何帮助将不胜感激,我将在接下来的6个小时内需要它.所以,请帮忙!
您将需要检查MySQL配置值"max_allowed_packet",该值可能设置得太小,从而阻止INSERT(其本身很大)发生.
从mysql命令提示符运行以下命令:
mysql> show variables like 'max_allowed_packet';
确保它足够大.有关此配置选项的更多信息,请参阅
MySQL max_allowed_packet
这也会影响PHP中的mysql_escape_string()和mysql_real_escape_string(),限制字符串创建的大小.
据我所知,通常更快更好的做法是不将文件存储在数据库中,因为它会很快变大并减慢速度.最好将文件存储在目录中,然后将文件的位置存储在数据库中.
我们通过为url-safe文件名命名的文件创建文件夹并在db中存储文件夹名称,在我们工作的CMS中为images/pdfs/mpegs等执行此操作.然后,只需在表示层中写出它的url就很容易了.