Multiple Image Upload and Resize Image In CodeIgniter

Multiple Image Upload and Resize Image In CodeIgniter


First you must load “image_lib” library of CI.

This is a controller in CI


public function imageUpload()
    {
        $data = array();
        if ($this->input->post('submit'))
        {
            if ($_FILES["sc_name"]["name"])
            {
                $path = './upload_image';
                if (!is_dir($path))
                    mkdir($path, 0755);

                $pathMain = './upload_image/source';
                if (!is_dir($pathMain))
                    mkdir($pathMain, 0755);

                $pathThumb = './upload_image/100X100';
                if (!is_dir($pathThumb))
                    mkdir($pathThumb, 0755);

                $path2Thumb = './upload_image/200X200';
                if (!is_dir($path2Thumb))
                    mkdir($path2Thumb, 0755);

                $path3Thumb = './upload_image/300X300';
                if (!is_dir($path3Thumb))
                    mkdir($path3Thumb, 0755);

                $path4Thumb = './upload_image/400X400';
                if (!is_dir($path4Thumb))
                    mkdir($path4Thumb, 0755);

                $result = $this->do_upload("sc_name", $pathMain);

                if (!$result['status'])
                    $data['error_msg'] ="Can not upload Image for " . $result['error'] . " ";
                else
                {
                    $pathThumb = './upload_image/100X100';
                    if (!is_dir($pathThumb))
                        mkdir($pathThumb, 0755);

                    //in other folder
                    if($this->resize_image($pathMain . '/' . $result['upload_data']['file_name'], $pathThumb . '/'.time().'100X100.gif','100','100'))
                        echo 'Image 100X100 resize done';
                    else
                        echo 'Image 100X100 resize failed';
                     if($this->resize_image($pathMain . '/' . $result['upload_data']['file_name'], $path2Thumb . '/'.time().'200X200.gif','200','200'))
                        echo 'Image 200X200 resize done';
                    else
                        echo 'Image 200X200 resize failed';
                     if($this->resize_image($pathMain . '/' . $result['upload_data']['file_name'], $path3Thumb . '/'.time().'300X300.gif','300','300'))
                        echo 'Image 300X300 resize done';
                    else
                        echo 'Image 300X300 resize failed';

                    //in same folder

                     if($this->resize_image($pathMain . '/' . $result['upload_data']['file_name'], time().'100X100.gif','100','100'))
                        echo 'Image 100X100 Same Folder resize done';
                    else
                        echo 'Image 100X100 Same Folder resize failed';
                     if($this->resize_image($pathMain . '/' . $result['upload_data']['file_name'], time().'200X200.gif','200','200'))
                        echo 'Image 200X200 Same Folder resize done';
                    else
                        echo 'Image 200X200 Same Folder resize failed';
                     if($this->resize_image($pathMain . '/' . $result['upload_data']['file_name'], time().'300X300.gif','300','300'))
                        echo 'Image 300X300 Same Folder resize done';
                    else
                        echo 'Image 300X300 Same Folder resize failed';

                }
            }
        }

        $this->load->view('sc/upload_image', $data);
    }



Upload Function inside the CI Controller

function do_upload($htmlFieldName, $path)
    {
        $config['file_name'] = time();
        $config['upload_path'] = $path;
        $config['allowed_types'] = 'gif|jpg|png';
        $config['max_size'] = '2000';
        $config['max_width'] = '2000';
        $config['max_height'] = '2000';
        $this->load->library('upload', $config);
        $this->upload->initialize($config);
        unset($config);
        if (!$this->upload->do_upload($htmlFieldName))
        {
            return array('error' => $this->upload->display_errors(), 'status' => 0);
        } else
        {
            return array('status' => 1, 'upload_data' => $this->upload->data());
        }
    }

Resize Function inside the CI Controller


function resize_image($sourcePath, $desPath, $width = '500', $height = '500') { $this->image_lib->clear(); $config['image_library'] = 'gd2'; $config['source_image'] = $sourcePath; $config['new_image'] = $desPath; $config['quality'] = '100%'; $config['create_thumb'] = TRUE; $config['maintain_ratio'] = true; $config['thumb_marker'] = ''; $config['width'] = $width; $config['height'] = $height; $this->image_lib->initialize($config); if ($this->image_lib->resize()) return true; return false; }

And Finally The form in View

<?php echo form_open_multipart() ?>
 
<label for="sc_name">Name</label>
<input type="file" name="sc_name" /><br />
<input type="submit" name="submit" value="Create" />
Multiple Image Upload and Resize Image In CodeIgniter Multiple Image Upload and Resize Image In CodeIgniter Reviewed by Anonymous on April 11, 2018 Rating: 5

No comments:

Java Ternary Operator

Java Ternary Operator Java ternary operator is the only conditional operator that takes three operands. Java ternary operator is a one l...

Powered by Blogger.