[ laleb @ 29.07.2011. 20:08 ] @
Imam problem, upitanju je multiple upload slika, i posle toga Image Manipulation Class, sve odradi kako treba, odradi resize svih slika ali mi izbaci "Undefined offset:" gresku, za deo koda 'source_image' => $image_data[$i]['full_path'],


Code:
function do_upload()
    {
        $config['upload_path'] = APPPATH . '../image/upload';
        $config['allowed_types'] = 'jpg|txt|psd|gif|png';
        $config['max_size']    = '100';
        
        $this->load->library('upload', $config);
    
        if ( ! $this->upload->do_upload())
        {
            echo $this->upload->display_errors();
        }    
        else
        {

            $image_data = $this->upload->data();
            $br = count($image_data);
            
             $this->load->library('image_lib', $config);
        
                 for($i=0; $i<=$br; $i++ ){
            
            $this->image_lib->initialize($config);
            
            
        $config = array(
            'source_image' => $image_data[$i]['full_path'],
            'new_image' => APPPATH . '../image/upload/thumbs',
            'maintain_ration' => true,
            'width' => 150,
            'height' => 100
        );
        
        #$this->load->library('image_lib', $config);
        $this->image_lib->resize();
        
        }
        
[ dakipro @ 29.07.2011. 20:13 ] @
Probaj sa foreach($image_data), mozda ne idu key-ovi po redu.

PS, ne secam se kako je za upload multiple fajlova, al ako dobro razumem manual, ->upload->data(); vraca niz sa podacima za jedan fajl,
http://codeigniter.com/user_guide/libraries/file_uploading.html
a ti pokusavas da uhvatis $image_data[$i], koji ne postoji, postoji samo $image_data['full_path'] i sl.
Na kraju krajeva, dampuj ceo $image_data pa vidi sta ima u njemu
[ Aleksandar Ružičić @ 29.07.2011. 20:13 ] @
Nisam nikada radio sa CodeIgniter-om pa i ne poznajem pomenutu klasu, ali bih rekao da ti taj niz nema indexe/kljuceve kojima pokusavas da pristupis.

Dodaj print_r($image_data); ispred for petlje pa proveri da li prvi nivo elemenata niza ide redom (0, 1, 2, ... $br - 1) i da li svaki od tih elemenata ima element 'full_path'
[ Mr. Bond @ 29.07.2011. 20:21 ] @
Cini mi se da si logicki malo omanuo

Code:

$br = count($image_data);
            
             $this->load->library('image_lib', $config);
        
                 for($i=0; $i<=$br; $i++ ){


count vraca broj elemenata 1,2,3,4.... a indeksi pocinju od 0,1,2,3.....

Stavi ili

Code:

for($i=0; $i < $br; $i++)


ili

Code:

for($i=0; $i <= $br -1; $i++)


[ laleb @ 29.07.2011. 20:41 ] @
@dakipro

$image_data[$i][full_patch] postoji posto sam radio html5 multiupload
<input type="file" name="userfile[]"> primer na link

u nizi $image_data je sve ok:

Code:
Array
(
    [0] => Array
        (
            [file_name] => Chrysanthemum24.jpg
            [file_type] => image/jpeg
            [file_path] => C:/wamp/www/image/upload/
            [full_path] => C:/wamp/www/image/upload/Chrysanthemum24.jpg
            [raw_name] => Chrysanthemum24
            [orig_name] => Chrysanthemum.jpg
            [client_name] => Chrysanthemum.jpg
            [file_ext] => .jpg
            [file_size] => 73.39
            [is_image] => 1
            [image_width] => 200
            [image_height] => 150
            [image_type] => jpeg
            [image_size_str] => width="200" height="150"
            [upload_success] => 1
            [error_messages] => Array
                (
                )

        )

    [1] => Array
        (
            [file_name] => Desert24.jpg
            [file_type] => image/jpeg
            [file_path] => C:/wamp/www/image/upload/
            [full_path] => C:/wamp/www/image/upload/Desert24.jpg
            [raw_name] => Desert24
            [orig_name] => Desert.jpg
            [client_name] => Desert.jpg
            [file_ext] => .jpg
            [file_size] => 826.11
            [is_image] => 1
            [image_width] => 1024
            [image_height] => 768
            [image_type] => jpeg
            [image_size_str] => width="1024" height="768"
            [upload_success] => 1
            [error_messages] => Array
                (
                )

        )


@Mr. Bond

kada stavim for($i=0; $i < $br; $i++) ili for($i=0; $i <= $br -1; $i++) uvek mi skine jedan element niza, tj jednu sliku...

u varijanti koju sam postavio sve radi samo izbacuje error, i to me izludjuje :)
[ Mr. Bond @ 29.07.2011. 20:51 ] @
Dobijas gresku zato sto svaki put FOR probije indeks za 1 odnosno

count($array) vrati npr. 4, dakle imas 4 elementa u nizu;
tvoj for($i = 0; $i <= count($array); $i++) vadi elemente:
$array[0], $array[1], $array[2], $array[3], $array[4] - dakle 5 puta prodje. Ovaj POSLEDNJI nije definisan i on ti vraca "Undefined offset". Jesi ti probao pa video da ti je izbacio ili nagadjas?
[ laleb @ 30.07.2011. 15:26 ] @
resio sam, problem je bio sto $this->image_lib->initialize($config); je trebao ici posle definisanja niza $config[]

i zbog toga u for petlji jednom preskoci definisanje $config niza i jednu sliku mi ne odradi resize, a kada sam stavio $i<=count($image_name),
onda odrati resize jos jednom, ali i izbaci niz koji ne postoji

u svakom slucaju hvala na odgovorima, pomogli ste mi