Codeigniter上传图片出现“You did not select a file to upload”错误解决办法

时间:2022-03-23 08:43:49

Codeigniter自带的文件上传类非常好用,您可以设置指定上传某类型的文件及指定大小的文件。不过在使用的过程中需要注意一些小问题,否则会让你感到措手不及。

很多开发人员在使用Codeigniter的upload上传类时候,总是出现“You did not select a file to upload”错误,从代码里面看并没有什么错误,这是怎么回事呢?

1、文件域的名字被修改

方法一:

例如将Views文件的文件域的名字修改成了fileimg,而CI默认的文件域的名字是userfile,即形如:<input type="file" name="userfile" size="20" />。这个是不能修改的,否则就会找不到上传文件。

原理就是:$this->upload->do_upload()默认上传文件的表单名为userfile。

方法二:

其实还有解决方法,如果文件域是其他名字。比如:

<input type="file" name="imgfile" size="20" />

复制代码 代码如下:
$this->upload->do_upload();

 

改为

复制代码 代码如下:
$this->upload->do_upload(‘imgfile');

 

这样就可以了!

2、form表单类型

form表单需要使用form_open_multipart,形成HTML的时候会增加了一个属性enctype="multipart/form-data",这个其实是常识了,注意一下就好。