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