вы используете класс загрузчика файлов codeigniter ... и вызываете $this->upload->do_upload();
в условном выражении, а затем проверяете, истинно ли оно.
<?php
if ( ! $this->upload->do_upload()){
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_form', $error);
}
else{
$data = array('upload_data' => $this->upload->data());
$this->load->view('upload_success', $data);
}
User_guide объясняет это подробно: http://codeigniter.com/user_guide/libraries/file_uploading.html
Тем не менее,
если вы не уверены в том, был ли файл "загружен", то есть .. передан ДО того, как вы вызовете этот класс (не знаю, почему). Вы можете получить доступ к PHP $_FILES
super global .. и использовать условное выражение, чтобы проверить, равен ли размер> 0.
http://www.php.net/manual/en/reserved.variables.files.php
Обновление 2: Это действующий рабочий код, я использую его на загрузчике аватара самостоятельно, используя CI 2.1
<?php
//Just in case you decide to use multiple file uploads for some reason..
//if not, take the code within the foreach statement
foreach($_FILES as $files => $filesValue){
if (!empty($filesValue['name'])){
if ( ! $this->upload->do_upload()){
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_form', $error);
}else{
$data = array('upload_data' => $this->upload->data());
$this->load->view('upload_success', $data);
}
}//nothing chosen, dont run.
}//end foreach