Eccomi qui a richiedere il vostro cortese aiuto.
premetto che non ho mai avuto modo di affrontare questo argomento, quindi mi sono affidata ad uno script trovato per caso che, nella mia ignoranza, comunque non funziona..
ho ovviamente una form:
codice:
<input name="userfile" type="file" id="foto" class="butt09">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Fin qui, ok.. il form è enctype="multipart/form-data".
diciamo che nel documento "esecutivo" dichiaro la variabile:
codice:
$nominativo=$_FILES['userfile']['name'];
poi lo script procede così:
Codice PHP:
do {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
// Controllo la dimensione del file
if ($_FILES['foto']['size'] > 1048576) {
$errore.="<center><span class=\"evid\">[b]Il file non deve superare una data dimensione.[/b]</span></center>
";
break;
}
// Ottengo le informazioni sull'immagine
list($width, $height, $type, $attr) = getimagesize($_FILES['userfile']['tmp_name']);
// Controllo che le dimensioni (in pixel)
if (($width > 10000) || ($height > 10000)) {
$errore.="<center><span class=\"evid\">[b]Dimensioni non corrette.[/b]</span></center>
";
break;
}
// Controllo che il file sia in uno dei formati GIF, JPG o PNG
if (($type!=1) && ($type!=2) && ($type!=3)) {
$errore.="<center><span class=\"evid\">[b]Il formato immagini deve essere GIF, JPG o PNG.[/b]</span></center>
";
break;
}
// Verifico che sul sul server non esista già un file con lo stesso nome
// In alternativa potrei dare io un nome che sia funzione della data e dell'ora
if($tipo == "A" || $tipo == "B") {
$andress="cartella/";
} else {
$andress="archivio/";
}
if (file_exists("$andress".$_FILES['userfile']['name'])) {
$errore.="<center><span class=\"evid\">[b]Il file esiste già sul server: rinominare il file e riprovare.[/b]</span></center>
";
break;
}
// Sposto il file nella cartella da me desiderata
if (!move_uploaded_file($_FILES['userfile']['tmp_name'], "$andress".$_FILES['userfile']['name'])) {
$errore.="<center><span class=\"evid\">[b]Si è verificato un errore nel caricamento dell'immagine.[/b]</span></center>
";
break;
}
}
} while (false);
Stampo infine la variabile $errore nel caso non risulti vuota.
In conclusione, il caricamento dell'immagine non avviene, in quanto mi viene stampato l'errore ultimo "Si è verificcato un errore nel caricamento dell'immagine"..
Dove sto sbagliando?
Premetto subito che per quanto concerne l'inserimento del nome del documento nel database, il tutto avviene correttamente..
Grazie in anticipo