Multiple file uploads - how can i integrate thumbnail function for all uploaded files?

74 views Asked by At

These are my codes for multiple upload files..

Please can you help me with code in exchange which also have thumbnail integration

public function addimage($room_id)
{

    $name_array = array();
    $count = count($_FILES['userfile']['size']);
    foreach($_FILES as $key=>$value)
    for($s=0; $s<=$count-1; $s++) {
        $_FILES['userfile']['name']=$value['name'][$s];
        $_FILES['userfile']['type']    = $value['type'][$s];
        $_FILES['userfile']['tmp_name'] = $value['tmp_name'][$s];
        $_FILES['userfile']['error']       = $value['error'][$s];
        $_FILES['userfile']['size']    = $value['size'][$s];  
        $config['upload_path'] = './uploads/';
        $config['allowed_types'] = 'gif|jpg|png|jpeg';
        //$config['encrypt_name'] = uniqid(date(1));
        // $config['max_size']  = '100';
        // $config['max_width']  = '1024';
        // $config['max_height']  = '768';
        $this->load->library('upload', $config);
        $this->upload->do_upload();
        $data = $this->upload->data();
        $name_array[] = $data['file_name'];
    } // end foreach
    $names= array($name_array);
    print_r($names);


    exit();
3

There are 3 answers

0
Praveen D On BEST ANSWER

You should re-initialize the image library with:

$this->load->library('image_lib');
$image_config = array(
'source_image'      => $image_data['full_path'],
'new_image'         => $this->thumbs_path,
'maintain_ratio'    => true,
'width'             => 36,
'height'            => 36
);

$this->image_lib->clear();
$this->image_lib->initialize($image_config);  
$this->image_lib->resize();
0
Atural On

how about this ?

public function addimage($room_id)
{

    $this->load->library("image_lib");
    $name_array = array();
    $count = count($_FILES['userfile']['size']);
    foreach($_FILES as $key=>$value)
    for($s=0; $s<$count; $s++) {
        $_FILES['userfile']['name']=$value['name'][$s];
        $_FILES['userfile']['type']    = $value['type'][$s];
        $_FILES['userfile']['tmp_name'] = $value['tmp_name'][$s];
        $_FILES['userfile']['error']       = $value['error'][$s];
        $_FILES['userfile']['size']    = $value['size'][$s];  
        $config['upload_path'] = './uploads/';
        $config['allowed_types'] = 'gif|jpg|png|jpeg';
        //$config['encrypt_name'] = uniqid(date(1));
        // $config['max_size']  = '100';
        // $config['max_width']  = '1024';
        // $config['max_height']  = '768';
        $this->load->library('upload', $config);
        $this->upload->do_upload();
        $data = $this->upload->data();
        $name_array[] = $data['file_name'];

        //thumbnail creation
        $config['image_library'] = 'gd2';
        $config['source_image'] = $data['file_name'];
        $config['create_thumb'] = TRUE;
        $config['maintain_ratio'] = TRUE;
        $config['width']         = 200;
        $config['height']       = 200;
        $this->image_lib->initialize($config);
        $this->image_lib->resize();



    } // end foreach
    $names= array($name_array);
    print_r($names);


    exit();
}
2
secrethash On

As I am understanding your question, I would refer you to read about the Image Manipulation Library of codeigniter.

http://www.codeigniter.com/user_guide/libraries/image_lib.html

There is a thumbnail creation. You can create thumbnail using the returned data after a successful upload.