所有搜到的帖子都是:
1、文件域的名字被修改
方法一:
找了半天发现笔者将Views文件的文件域的名字修改成了fileimg,而CI默认的文件域的名字是userfile,即形如:。这个是不能修改的,否则就会找不到上传文件。
原理就是:$this->upload->do_upload()默认上传文件的表单名为userfile。
方法二:
其实还有解决方法,如果文件域是其他名字。比如:
将 $this->upload->do_upload();
改为 $this->upload->do_upload(‘imgfile’);
这样就可以了!
2、form表单类型
form表单需要使用form_open_multipart,形成HTML的时候会增加了一个属性enctype=“multipart/form-data”,这个其实是常识了,注意一下就好。
连文字都一模一样. 我试了! 不行
最后的解决还踩了三个坑才解决::
- nginx默认配置上传文件大小: 要在
conf
文件的server
节加上这样一句:client_max_body_size 1024m;
- php的设置
php.ini
文件里也要改. 默认才2M和8M
设置文件最大上传限制(值的大小可以根据需求修改)
file_uploads = On ; 是否允许上传文件 On/Off 默认是On
upload_max_filesize = 32M ; 上传文件的最大限制
post_max_size = 32M ; 通过Post提交的最多数据
考虑网络传输快慢,这里修改一些参数
max_execution_time = 30000 ; 脚本最长的执行时间 单位为秒
max_input_time = 600 ; 接收提交的数据的时间限制 单位为秒
memory_limit = 1024M ; 最大的内存消耗
————————————————
版权声明:本文为CSDN博主「一个菜鸟的前端之路」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hl18730262380/article/details/83451159
- 最后还有一个坑 文件上传的路径! 可能没有权限, 因为nginx安装版用户是www-data. 没权限传不上去! 直接777.