Back

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