Forse $_FILES ma non ho ben compreso...

usaikarts

Nuovo Utente
25 Mar 2009
22
0
0
Salve gente... questo è il mio secondo post!!! (Non vi importa eh?)

Ho un problema che non riesco bene a decifrare...

Ho rielaborato uno script per l'invio di file tramite form e funziona...

Avrei però l'esigenza di far postare più files contemporaneamente...

in conseguenza a ciò ho fatto una copia dello script già funzionante cambiando ovviamente tutte le variabili e i nomi dei campi ma riscontro un problema...

vi posto il codice pregandovi, oltre che di darmi una mano... di non sfottere troppo per l'assurdità di certi parametri!!!!:beer:

Codice:
//Inizio Codice Invio Avatar
function estensione($nome){
    $trova_punto = explode(".", $nome);
    $estensione = $trova_punto[count($trova_punto) - 1];
    $estensione = strtolower($estensione);
    if (isset($trova_punto[1]) == FALSE){
        return "Nessuna estensione";
    }
    return $estensione;
}
 
// directory dove va uplodato il file
$directory = 'avatar/';
 
// verifica l'esistenza del file
if (isset($_FILES['file_da_uplodare'])) {
    $file_temporaneo= $_FILES['file_da_uplodare']['tmp_name'];
    $nome_file = $_FILES['file_da_uplodare']['name'];
 
        // trova l'estensione del file
        $estensione_file=estensione($nome_file);
        // assegna un nome univooco al file
        $nome_file=uniqid(foto_).".".$estensione_file;
		
		$fotos="$nome1$nome2$nome3$cognome1$cognome2$cognome3.".$estensione_file;
		$nome_file=$fotos;

        //esegue l'upload e controlla che vada a buon fine
    if (move_uploaded_file($file_temporaneo, $directory  . $nome_file)){
        echo "La tua Fotografia è stata caricata con successo.<br />";
    } else {
        echo "Si è verificato un errore durante l'upload";
    }
}
// sopra caricamento avatar


//Inizio Codice Invio Foto
function estensioneb($nomeb){
    $trova_puntob = explode(".", $nomeb);
    $estensioneb = $trova_puntob[count($trova_puntob) - 1];
    $estensioneb = strtolower($estensioneb);
    if (isset($trova_puntob[1]) == FALSE){
        return "Nessuna estensione";
    }
    return $estensioneb;
}
 
if(@mkdir("artisti/$nome1$nome2$nome3$cognome1$cognome2$cognome3/galleria/",0777,true)){ 
  echo "Cartella Galleria creata con successo<br />"; 
}else{ 
  echo "Nome Utente non valido perchè attualmente in uso."; 
  exit;
  die(finito);
} 
 
// directory dove va uplodato il file
$directoryb = 'artisti/$nome1$nome2$nome3$cognome1$cognome2$cognome3/galleria/';
 
// verifica l'esistenza del file
if (isset($_FILES['file_da_uplodareb'])) {
    $file_temporaneob= $_FILES['file_da_uplodareb']['tmp_name'];
    $nome_fileb = $_FILES['file_da_uplodareb']['name'];
 
        // trova l'estensione del file
        $estensione_fileb=estensioneb($nome_fileb);
        // assegna un nome univooco al file
        $nome_fileb=uniqid(foto_).".".$estensione_fileb;
		
		$fotosb="$nome1$nome2$nome3$cognome1$cognome2$cognome3"."1.".$estensione_fileb;
		$nome_fileb=$fotosb;

        //esegue l'upload e controlla che vada a buon fine
    if (move_uploaded_file($file_temporaneob, $directoryb  . $nome_fileb)){
        echo "La tua Fotografia è stata caricata con successo.";
    } else {
        echo "Si è verificato un errore durante l'upload";
    }
}

Se a qualcuno servisse, la prima parte del codice funziona perfettamente!!!!

Grazie per il vostro aiuto!!!!!!!!
 
anche tu hai ragione... comunque l'errore che mi restituisce è l'echo del mancato upload del file numero 2...

ho provato anche a sostituire il codice del secondo upload con uno molto pià semplice, ma comunque mi restituisce l'echo di errore...

ecco il codice...

Codice:
$uploadfile2 = $uploaddir . $_FILES['userfile2']['name']; 
if (move_uploaded_file($_FILES['userfile2']['tmp_name'], $uploadfile)) { 
print "File due successfully uploaded"; 
} else { 
print "File 2 no uploaded"; 
}

Grazie davvero per l'interessamento!!!!
 
ciao
non ho un gran merito per il "funzia".
comunque volevo mi permetto di darti un piccolo suggerimento anche se hai risolto, ma per eventuali script successivi:
ha hatto due funzioni estenzione($nome) e estensioneb($nomeb), cambiando all'interno anche tutti i nomi delle variabili.
non serve in quanto le variabili di una funzione sono conosciute solo all'interno della stessa e la variabile $nome (o $nomeb) è solo un "segnaposto", facendo come hai fatto perdi tutta l'utilità delle funzioni, cioè faro una cosa sola che serva più volte
 
ahhh vedi... sicuramente una cosa buona da sapersi.... chissà le risate che ti sarai fatto con questo codice!!!!

Comunque il PhP è davvero una cosa favolosa!!!!!!!!
 

Discussioni simili