Welcome Guest, Not a member yet? Register   Sign In
Image Helper for generate Dynamic Thumbnail
#1

[eluser]Unknown[/eluser]
Hi everyone,
i have create one image helper for Generate image thumbnail,
that might be used in your project.

Image helper code is here https://github.com/jayeshbhalodia/Codeig...Helper.git

Code:
<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

/**
* @author Jayesh Bhalodia {[email protected]}
*
*  image manipulation helper
*  it would be used for generate dynamic thumbnail with its associated parameters.
*/

/**
*
* create thumbnail
*
* @author Jayesh Bhalodia
* @param type $size array like array('width'=>'128','height'=>'128');
* @param type $file_source original file source path.
* @see
*    - image_lib library should be set on autoload.
*    - gd2 enable on server.
* @return string file path.
*/
function image_thumb($size, $file_source, $concat_base_url = true) {
    // get master object
    $CI = & get_instance();

    // Image configuration
    $config = array();

    $file_path_explode = explode('/', $file_source);
    $file_name = end($file_path_explode);

    // remove last element of array
    array_pop($file_path_explode);

    $new_direct_path = implode('/', $file_path_explode);
    $new_direct_path .= '/' . $size['width'] . 'x' . $size['height'];

    $file_path = $new_direct_path . '/' . $file_name;

    // if file has been exists then directly return that path.
    if (file_exists($file_path)) {
        if ($concat_base_url) {
            return base_url() . $file_path;
        }
        return $file_path;
    }

    // create directory if not exists
    // directory name would be (widht)x(height) ex. 128x128
    if (!is_dir($new_direct_path)) {
        if (!mkdir($new_direct_path)) {
            if (ENVIRONMENT == 'dev') {
                exit('directory create permission is denied !');
            } else {
                // exit(0);
            }
        }
    }

    // set image configuration.
    $config['image_library'] = 'gd2';
    $config['source_image'] = $file_source;
    $config['create_thumb'] = TRUE;
    $config['maintain_ratio'] = TRUE;
    $config['new_image'] = $file_path;
    $config['thumb_marker'] = '';
    $config['quality'] = '100%';
    $config['width'] = $size['width'];
    $config['height'] = $size['height'];

    // init a configuration of image
    $CI->image_lib->__construct($config);

    if (!$CI->image_lib->resize()) {
        echo $CI->image_lib->display_errors();
    } else {
        if ($concat_base_url) {
            return base_url() . $file_path;
        }
        return $file_path;
    }
    // clear last configuration.
    $CI->image_lib->clear();
}




Theme © iAndrew 2016 - Forum software by © MyBB