codeigniter file upload - optional? codeigniter file upload - optional? codeigniter codeigniter

codeigniter file upload - optional?


Use the following:

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


codeigniter file upload optionally ...works perfect..... :)

---------- controller ---------

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;  }}

i just use this lines which makes it optionally,

if($_FILES['userfile']['error'] != 4){ return false;}$_FILES['userfile']['error'] != 4 is for file required to upload.

you can u make it unneccessory by using $_FILES['userfile']['error'] != 4 , then it will pass this error for file required and works great with other types of errors if any by using return false ,hope it works for u ....


Use this code in the controller before calling do_upload()

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