CI Image upload Function
Copy Below Code
View As A Text File
Show Text Only
Show API
Edit Code
function upload_file(){
$upload_dir_name = 'widgets';
$field_name = 'field_pic';
$thumb_width = 200;
$thumb_height = '';
$extensions = array('jpg','jpeg', 'png', 'bmp');
$data_upload = array(
'file_field_name' => $field_name,
'files' => $_FILES,
'upload_dir' => realpath(APPPATH . '../public/uploads/'.$upload_dir_name),
'thumb_width' => $thumb_width,
'thumb_height' => $thumb_height,
'max_size' => '5120', // 5MB
'extensions' => $extensions
);
echo '<pre>';
$data = upload_file_helper($data_upload);
print_r($data);
exit;
}
-------------
if (!function_exists('upload_file_helper')) {
function upload_file_helper($data_upload){
$CI = & get_instance();
if($data_upload['files']){
$_FILES[$data_upload['file_field_name']]['name']= $data_upload['files'][$data_upload['file_field_name']]['name'];
$_FILES[$data_upload['file_field_name']]['type']= $data_upload['files'][$data_upload['file_field_name']]['type'];
$_FILES[$data_upload['file_field_name']]['tmp_name']= $data_upload['files'][$data_upload['file_field_name']]['tmp_name'];
$_FILES[$data_upload['file_field_name']]['error']= $data_upload['files'][$data_upload['file_field_name']]['error'];
$_FILES[$data_upload['file_field_name']]['size']= $data_upload['files'][$data_upload['file_field_name']]['size'];
$upload_dir = $data_upload['upload_dir'];
if (!is_dir($upload_dir)) {
mkdir($upload_dir);
}
chmod($upload_dir,0777);
$config['upload_path'] = $upload_dir;
$config['allowed_types'] = (is_array($data_upload['extensions']))?implode('|',$data_upload['extensions']):'gif|jpg|png|jpeg';
$config['file_name'] = 'userimage_'.substr(md5(rand()),0,7);
$config['overwrite'] = false;
$config['max_size'] = $data_upload['max_size'];
$CI->load->library(array('upload','image_lib'));
$CI->upload->initialize($config);
if (!$CI->upload->do_upload($data_upload['file_field_name'])){
$upload_data['error'] = 'Yes';
$upload_data['msg'] = $CI->upload->display_errors();
return $upload_data;
}
else{
$upload_data=$CI->upload->data();
chmod($upload_dir.'/thumb/',0777);
$thumb_config['image_library'] = 'gd2';
$thumb_config['source_image'] = $upload_dir.'/'.$upload_data['file_name'];
$thumb_config['new_image'] = $upload_dir.'/thumb/'.$upload_data['file_name'];
$thumb_config['width'] = $data_upload['thumb_width'];
if($data_upload['thumb_height']!=''){
$thumb_config['height'] = $data_upload['thumb_height'];
$thumb_config['maintain_ratio'] = FALSE;
}else{
$thumb_config['maintain_ratio'] = TRUE;
}
$CI->image_lib->clear();
$CI->image_lib->initialize($thumb_config);
$CI->image_lib->resize();
$upload_data['error'] = 'No';
return $upload_data;
}
}
}
}