Codeigniter image resize before upload Codeigniter image resize before upload codeigniter codeigniter

Codeigniter image resize before upload


I have solved the problem resizing first image by making changes in my controller as `

$this->load->library('image_lib');while($i<=$counter) /*conter have value of total number for images just ignore*/{      $config['upload_path'] = './images/';      $config['allowed_types'] = 'gif|jpg|png';      $this->load->library('upload', $config);      if ( ! $this->upload->do_upload($userfileName))      {         echo "error".count;          }      else      {            $image_data =   $this->upload->data();            $configer =  array(              'image_library'   => 'gd2',              'source_image'    =>  $image_data['full_path'],              'maintain_ratio'  =>  TRUE,              'width'           =>  250,              'height'          =>  250,            );            $this->image_lib->clear();            $this->image_lib->initialize($configer);            $this->image_lib->resize();      }}


I solved image resize before upload image in codeigniter use this simple code.

image.php

<form id="thumb_form" enctype="multipart/form-data" method="post">    <div style="margin-bottom: 5px;">       <label>Choose Image File</label>       <input id="image" name="image" type="file" class="form-control"/>    </div>    <div>       <input type="submit" class="btn btn-primary" name="add_video" id="add_video" value="Submit">    </div></form>//ajax call write here

ajax call or script

<script>$("form#thumb_form").submit(function(event){    event.preventDefault();    var formData = new FormData($(this)[0]);    $.ajax({        url : "<?php echo site_url('Welcome/add_image_thumb');?>",        type : "POST",        data: formData,        contentType: false,        processData: false,        dataType:"JSON",        success : function(result)        {            alert(result);        }    });});

Welcome.php

public  function add_image_thumb(){    if($_FILES['image']['name']=='')    {        $data['file_err']='please choose image';    }    else    {            $data = $_FILES['image']['name'];            $config['image_library'] = 'gd2';            $config['source_image'] = $_FILES['image']['tmp_name'];            $config['create_thumb'] = FALSE;            $config['maintain_ratio'] = FALSE;            $config['width'] = 300;            $config['height'] = 300;            $config['new_image'] = 'asstes/thumb/' . $data;            $this->load->library('image_lib', $config);            $this->image_lib->resize();            $img = '<img src="' . base_url() . 'asstes/thumb/' . $data . '">';            echo json_encode(array('img' => $img));    }}


//Here is my upload controller and really works in local and server//load you image_lib to your config  $config = array(            'upload_path' => './upload/',            'log_threshold' => 1,            'allowed_types' => 'jpg|png|jpeg|gif|JPEG|JPG|PNG',            'max_size' => 10000,             'max_width'=>0,            'overwrite' => false        );            for($i = 1 ; $i <=8 ; $i++) {               $upload = 'upload'.$i; //set var in upload                if(!empty($upload)){                    $this->load->library('upload', $config);                    $this->upload->do_upload('upload'.$i);                     $upload_data = $this->upload->data();                    $file_name = $upload_data['file_name'];                    // process resize image before upload                     $configer = array(                            'image_library' => 'gd2',                            'source_image' => $upload_data['full_path'],                            'create_thumb' => FALSE,//tell the CI do not create thumbnail on image                            'maintain_ratio' => TRUE,                            'quality' => '40%', //tell CI to reduce the image quality and affect the image size                            'width' => 640,//new size of image                            'height' => 480,//new size of image                        );                    $this->image_lib->clear();                    $this->image_lib->initialize($configer);                    $this->image_lib->resize();                }        }