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",這個其實是常識了,注意一下就好。