Ciao, ho preso come esempio una pillola di marcketto riutilizzando il javascript da lui suggerito e l'impostazione del form...

teorimacemnte funziona tutto ma mi succede una cosa che non riesco a capire bene ..
codice:
$numero_file= count($_FILES['file']['tmp_name']);
    echo $numero_file;
    for($i==0;$i<$numero_file;$i++){
        
        $sql_img='insert into immagini(img_alt, img_title, img_port_graf_id) values("'.$img_alt.'","'.$img_title.'","'.$id_nuovo.'")';
        
        mysql_query($sql_img, $conn);
        $id_img=mysql_insert_id();
        echo $id_img;
        $pippo='file'.$i.'';
        echo $pippo;
    
        if(is_uploaded_file($_FILES['file']['tmp_name'][$i])){
            $cartella=date("Y").date("m");
            echo $cartella;
            $upload_dir=$_SERVER['DOCUMENT_ROOT'].'/msystem/upload/immagini/'.$cartella.'/';
            if(!file_exists($upload_dir)){mkdir($upload_dir);}
            
            $filename=$id_img.'_'.$_FILES['file']['name'][$i];
            echo $filename;
            $estensioni_ammesse=array('jpg','jpeg','gif','png');
            $estensione=substr($filename,strpos($filename,'.')+1,(strlen($filename)-strpos($filename,'.')));
            $filename_old=sanitize($filename, PARANOID);
            $filename_new=''.$filename_old.'.'.$estensione.'';
            if(in_array($estensione,$estensioni_ammesse)){
                move_uploaded_file($_FILES['file']['tmp_name'][$i],$upload_dir.$filename_new);
                $sql='update immagini set img_url="'.$cartella.'/'.$filename_new.'" where img_id='.$id_img.' ';
                mysql_query($sql);
                }
    
            else{$output='Non è stato possibile inserire l\'immagine 
Torna indietro  ';}
        }
        
    }
praticamente funziona tutto ma mi salta sempre il caricamento della prima immagine; mi spiego meglio..


tramite il form io posso caricare un tot numero di immagini... se carico ad esempio 4 immagini la prima mela salta e le altre 3 vanno a buon fine.... non capisco dove sia il problema.. non badate ai vari echo, li ho messi solo per vedere cosa faceva lo script..

codice:
$output.='<div id="attachment" style="display:none">';
            $output.='<label for="file">Carica immagine:</label>';
            $output.='<input id="file" name="file" type="file"  />';
            $output.='<label for="img_alt">Testo alternativo:</label>';
            $output.='<input type="text" id="img_alt" name="img_alt" value="'.$array3['img_alt'].'" tabindex="2" />';
            $output.='<label for="img_title">Titolo immagine:</label>';
            $output.='<input id="img_title" name="img_title" value="'.$array3['img_title'].'" tabindex="3" />';
            $output.=' Rimuovi';
            $output.='

';
            $output.='</div>';
            $output.='<div id="attachments">';
            $output.='
Aggiungi file

';
            $output.='<label for="file">Carica immagine:</label>';
            $output.='<input name="file[]" type="file"  />';
            $output.='<label for="img_alt">Testo alternativo:</label>';
            $output.='<input type="text" id="img_alt" name="img_alt" value="'.$array3['img_alt'].'" tabindex="2" />';
            $output.='<label for="img_title">Titolo immagine:</label>';
            $output.='<input id="img_title" name="img_title" value="'.$array3['img_title'].'" tabindex="3" />';
            $output.='

';
            $output.='<span id="attachmentmarker"></span>';
            $output.='</div>';


$output.='</div>';
questo è il codice della parte di form che mi da la possibilità di fare l'upload multiplo