Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Allegati multipli

  1. #1

    Allegati multipli

    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..
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  2. #2
    dai una occhiata al lavoro di Marketto.

    http://forum.html.it/forum/showthrea...hreadid=764691

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.