Salve, ho un problema con gli allegati multipli.. permetto agli utenti di allegare più file contemporaneamente, non sapendo però quanti allegati sfruttano, devo prevedere che ne possano allegare da 1 a n. Ho optato per inserire tutto in un array e poi scioglierlo con il seguente codice.. ma non riesco a farlo funzionare:
Codice PHP:
                   foreach($_FILES['UPLOAD'] as $_FILES['ALLEGATO']) {

                       if(
$_FILES['ALLEGATO']['name'] != '') {
                        
                        
$last_insert_id mysql_query("SELECT * FROM " $prefix "test ORDER BY id DESC LIMIT 1");
                        
$rowid mysql_fetch_array($last_insert_id);
                        
$id $rowid['id'];
                        
                        
$uploadLocation $dir['sources'] . 'upload/';
                            
                        
$nome image_escape($_FILES['ALLEGATO']['name']);
                            
                        
// Verifico quali estensioni sono consentite
                        
$verify "SELECT * FROM " $prefix "options WHERE op_value='yes' AND op_ext='" $_FILES['ALLEGATO']['type'] . "' LIMIT 1";
                        
$result mysql_query($verify) or die ("Errore durante la verifica degli allegati ammessi!");
                        
$nr_result mysql_num_rows($result);
                            
                        
$verify_file "SELECT * FROM " $prefix "allegati WHERE nome='" $nome "' LIMIT 1";
                        
$result_file mysql_query($verify_file) or die ("Errore durante la verifica del numero di allegati con lo stesso nome nel database!");
                        
$nr_file mysql_num_rows($result_file);
                            
                        if(
$nr_result == 1) {
                                
                            
                            if (!
file_exists($uploadLocation)){
                                            
                                  
$error .= "
Spiacente la directory di destinazione non esiste!"
;
                                           
                            } else if (!
is_writeable($uploadLocation)) {
                                           
                                
$error .= "
Spiacente ma la directory di destinazione non è scrivibile!"
;
                                
                             } else if (
$nr_file == 1) {
                                    
                                  
$error .= "
basename($_FILES['ALLEGATO']['name']) . " c'è già un file con lo stesso nome!";
                                           
                             } else {
                                            
                                 
$target_path $uploadLocation $nome;
                            
                                if(@
move_uploaded_file($_FILES['ALLEGATO']['tmp_name'], $target_path)) {
                                        
                                    
$msg .= "
basename($_FILES['ALLEGATO']['name']) . " è stato caricato con successo!";
                                            
                                    
$qry "INSERT INTO " $prefix "allegati (percorso, nome, ext, idNews) VALUES ('" $target_path "', '" $nome "', '" $_FILES['ALLEGATO']['type'] . "', '" $id "')";
                                 
                                      
$upload_db mysql_query($qry) or die(mysql_error());
                
                                } else {
                                               
                                    
$error .= "
Processo di caricamento fallito!"
;
                                            
                                }
                                            
                            }
                            
                        } else {
                                
                            
$error .= "
Spiacente estensione non riconosciuta/abilitata"
;
                                
                        }                    
                        
                    }
                                 
                } 
Ho un form che è di tipo file e ha come name UPLOAD[] che inserisce tutto quanto in un array.. il mio problema è che non riesco a scioglierlo.. ho fatto un pirnt_r di $_FILES e questo è il risultato:

Codice PHP:
¨Array ( [UPLOAD] => Array ( [name] => Array ( [0] => doc 1.doc [1] => doc 2.doc ) [type] => Array ( [0] => application/msword [1] => application/msword ) [tmp_name] => Array ( [0] => /tmp/phpVbHOVH [1] => /tmp/phpV7m5fs ) [error] => Array ( [0] => [1] => ) [size] => Array ( [0] => [1] => ) ) [ALLEGATO] => Array ( [0] => doc 1.doc [1] => doc 2.doc ) ) Array ( [UPLOAD] => Array ( [name] => Array ( [0] => doc 1.doc [1] => doc 2.doc ) [type] => Array ( [0] => application/msword [1] => application/msword ) [tmp_name] => Array ( [0] => /tmp/phpVbHOVH [1] => /tmp/phpV7m5fs ) [error] => Array ( [0] => [1] => ) [size] => Array ( [0] => [1] => ) ) [ALLEGATO] => Array ( [0] => application/msword [1] => application/msword ) ) Array ( [UPLOAD] => Array ( [name] => Array ( [0] => doc 1.doc [1] => doc 2.doc ) [type] => Array ( [0] => application/msword [1] => application/msword ) [tmp_name] => Array ( [0] => /tmp/phpVbHOVH [1] => /tmp/phpV7m5fs ) [error] => Array ( [0] => [1] => ) [size] => Array ( [0] => [1] => ) ) [ALLEGATO] => Array ( [0] => /tmp/phpVbHOVH [1] => /tmp/phpV7m5fs ) ) Array ( [UPLOAD] => Array ( [name] => Array ( [0] => doc 1.doc [1] => doc 2.doc ) [type] => Array ( [0] => application/msword [1] => application/msword ) [tmp_name] => Array ( [0] => /tmp/phpVbHOVH [1] => /tmp/phpV7m5fs ) [error] => Array ( [0] => [1] => ) [size] => Array ( [0] => [1] => ) ) [ALLEGATO] => Array ( [0] => [1] => ) ) Array ( [UPLOAD] => Array ( [name] => Array ( [0] => doc 1.doc [1] => doc 2.doc ) [type] => Array ( [0] => application/msword [1] => application/msword ) [tmp_name] => Array ( [0] => /tmp/phpVbHOVH [1] => /tmp/phpV7m5fs ) [error] => Array ( [0] => [1] => ) [size] => Array ( [0] => [1] => ) ) [ALLEGATO] => Array ( [0] => [1] => ) ) 
questo è il rultato.. non ci capisco nulla.. finchè si tratta di un singolo file riesco a caricarlo con successo, ma inserendo l'opportunità di caricare più file contemporanemante, sto impazzendo..
qualcuno che potrebbe indirizzarmi sulla retta via? perchè io non so più dove sbattere la testa..