版主飞哥联系我说论坛附件只能上传16M的东西,他最新调试成功的一个程序有40M,无法上传成功。
之前我已经把论坛服务器的上传限制上调到了50M,很奇怪他怎么会上传不成功,最后查找问题根源就发现是Discuz的程序限制了附件最大只能上传16M,于是我们得解决这个问题。
首先说一下,能向服务器上传多大的文件与服务器的配置是有关系的,我们需要先修改php.ini这个文件- post_max_size = 50M //这里是设置一个post表单一次性能传递的最大数,根据个人情况来设置.
- upload_tmp_dir = /home/XXXX/php_upload_tmp //上传文件临时存放目录 这里是我的路径 请根据你自己的要求设置 , 我的是linux服务器所以路径和windows的格式不一样, linux用户一定要注意此目录必须要有读写权限.
- upload_max_filesize = 50M //单个文件上传大小限制
复制代码 post_max_size和upload_max_filesize的关系。
假如post_max_size我设置的是1000M。
下面upload_max_filesize我设置的是200M的话。
表示我上传的每个文件最大不能超过200M,而且在批量上传文件的过程中,所有文件的总和不能超过1000M。
这样在论坛的批量上传里可以同时上传5个200M的文件。
重启Apache或IIS使我们刚刚做的设置生效。
现在进入后台首页,下面的系统信息中 上传许可 就会看到我们刚刚做的设置生效了。
好了,服务器端的设置我们已经搞定确保无误,现在就是来修改Discuz程序部分了。
其实为何会被限制在16M呢? 那是因为数据库里面用户组字段里面一个数据类型太小了的原因造成的,我们现在就去数据库中找到这个字段并修改它。
1、用phpmyadmin找到数据表 {表名前缀}_common_usergroup_field
2、找到maxattachsize字段,修改字段类型为 INT 型,并将长度/值 修改为10
3、保存生效以后就OK了,剩下的就去修改用户组附件大小就行了。
注:在提醒一个小细节在论坛后台的 全局设置 里面有一个叫作 附件类型尺寸 的设置项,如果这里面设置了附件类型的尺寸大小的话,系统会按这里的设置为准,切记哟。
|
|