Search code examples
imagecodeigniteruploading

CodeIgniter Upload Error: The filetype you are attempting to upload is not allowed


I get this error whenever trying to upload any jpg or png image file.

My form:

<form action="/merchant/process_create" method="post" id="merchant_signup" enctype="multipart/form-data">
<?php
echo form_label('Select Your Logo or Relevant Image:', 'image');
echo "<br />";
?>
<input type="file" name="image" size="20" id="image" />
<?php
echo "<br />";
echo "<br />";

echo form_submit('submit', 'Create Account');
?>

The upload part of the controller:

//upload the image
$config['upload_path'] = $_SERVER['DOCUMENT_ROOT'] . '/uploads/';
$config['allowed_types'] = 'jpg|jpeg|gif|png';
$config['max_size'] = '2000';
$config['max_width']  = '0';
$config['max_height']  = '0';
$config['file_name']  = time() . rand();
$config['remove_spaces'] = TRUE;

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

if ( ! $this->upload->do_upload('image'))
{
    $data= array('error' => $this->upload->display_errors('', '<br />'));

    //reload the view
    $this->load->view('header');

    $this->load->view('merchant_create_form', $data);

    $this->load->view('footer');

}   else {

    //make the insert array
    $merchant_data = array(
        'user_id'           => $this->session->userdata('user_id'),
        'name'              => $this->input->post('name'),
        'uri_slug'          => $this->input->post('uri_slug'),......

Solution

  • Comment out the line, $config['file_name'] = time() . rand(); And let us know what's happen.

    //  $config['file_name']  = time() . rand();