загрузка файла codeigniter-необязательно?

Я уверен, что это просто, но я не вижу, как сделать загрузку файла с CI необязательной.

Если оставить поле ввода файла пустым, появится сообщение об ошибке "вы не выбрали файл для загрузки".

причина, по которой я хочу, чтобы это было необязательно, заключается в том, что моя форма редактирует список типов каталогов, и мне не нужно загружать изображение каждый раз, когда я редактирую список.

есть ли способ удалить" требуемую " обработку ошибок в классе файлов

3 ответов


использовать следующий:

<?php if ( $_FILES AND $_FILES['field_name']['name'] ) 
{
    // Upload the file
}

загрузка файла codeigniter необязательно ...отлично работает..... :)

---------- контроллер ---------

function file()
{
 $this->load->view('includes/template', $data);
}

function valid_file()
{
 $this->form_validation->set_rules('userfile', 'File', 'trim|xss_clean');

 if ($this->form_validation->run()==FALSE) 
 {
    $this->file();
 }
 else
 {
  $config['upload_path']   = './documents/';
  $config['allowed_types'] = 'gif|jpg|png|docx|doc|txt|rtf';
  $config['max_size']      = '1000';
  $config['max_width']     = '1024';
  $config['max_height']    = '768';

  $this->load->library('upload', $config);

  if ( !$this->upload->do_upload('userfile',FALSE))
  {
    $this->form_validation->set_message('checkdoc', $data['error'] = $this->upload->display_errors());

    if($_FILES['userfile']['error'] != 4)
    {
        return false;
    }

  }
  else
  {
    return true;
  }
}

Я просто использую эти строки, что делает его необязательно,

if($_FILES['userfile']['error'] != 4)
{
 return false;
}

$_FILES['userfile']['error'] != 4 is for file required to upload.

вы можете сделать это unneccessory с помощью $_FILES['userfile']['error'] != 4, затем он передаст эту ошибку для требуемого файла и отлично работает с другими типами ошибок, если таковые имеются, с помощью возвращает false , надеюсь, это сработает для u ....


используйте этот код в контроллере перед вызовом do_upload ()

if (is_uploaded_file($_FILES['field_name']['tmp_name'])) {
    // your code here
}