Welcome Guest, Not a member yet? Register   Sign In
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">
echo form_label('Select Your Logo or Relevant Image:', 'image');
echo "<br />";
&lt;input type="file" name="image" size="20" id="image" /&gt;

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('merchant_create_form', $data);


} 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'),......

I have no clue what i'm doing wrong, please help.

[eluser]Cristian Gilè[/eluser]
From the userguide, the description for the file_name setting says:

Quote:If set CodeIgniter will rename the uploaded file to this name. The extension provided in the file name must also be an allowed file type.

Change your actual $config['file_name'] to:

$config['file_name'] = rand().time().get_extension($_FILES['image']['name']);

You can use a function like this to get the extension:

function get_extension($filename)
        $x = explode('.', $filename);
        return '.'.end($x);

Cristian Gilè

That worked great. Thanks so much!!

Theme © iAndrew 2016 - Forum software by © MyBB