Извикайте функцията по-долу всеки път преди do_upload
$this->upload->initialize($upload);
Да приемем всички файлове в този масив
$_FILES['userfile']['name']
тогава вашият скрипт ще изглежда така
$this->load->library('upload');
for ($k = 0; $k < count($_FILES['userfile']['name']); $k++) {
$this->upload->initialize($upload); //must reinitialize to get rid of your bug ( i had it as well)
if (!$this->upload->do_upload('userfile',$k)) {
$this->load->view('upload/image_form', $data + array('error'=>$this->upload->display_errors()));
}
$udata[$k] = $this->upload->data(); //gradually build up upload->data()
}