Salve a tutti,
ho un piccolo problema.

Ho la seguente pagina php dove è possibile per l'utente scegliere e caricare su webserver un file.

Ho impostato come dimensione massima 20 MB.

Il mio problema è il seguente:
se scelgo un file superiore a 20 MB non mi viene dato il messaggio di errore ma ritorna alla pagina di selezione come se niente fosse.

Ecco il codice:

codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>

	
	<form ENCTYPE="multipart/form-data" action="up.php" method="post">
	<input type="file" id="file1" name="file1"/>
	


	<input type="submit" value="upload"/>

	
<?
//verificare xkè quando si fa l'upload di un file molto grande dice nessun file selezionato! (non prende la dimensione??

		$dimensione_massima=20971520; //dimensione massima consentita per file in byte (20MB)
		$dimensione_massima_MB=$dimensione_massima/1048576;  //1048576=numero di byte che formano un MB
		$cartella_upload="public/"; //cartella in cui eseguire l'upload
		$filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
		$array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png','.zip'); //estensioni ammesse 
		if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){
			echo '<p align ="center">Nessun file selezionato</p>';
			
		}elseif($_FILES['file1']['size']>$dimensione_massima){
			echo '<p align ="center">Dimensione massima: $dimensione_massima_MB MB</p>';
		}else{
			$nome_file=$_FILES['file1']['name'];
			$errore="";
			if($filtrare==1){
				$estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
				if(!in_array($estensione,$array_estensioni_ammesse)){
					$errore.='<p align ="center">Upload file non ammesso.
Estensioni ammesse: '.implode(", ",$array_estensioni_ammesse).'</p>';
				}
			}
			if(!file_exists($cartella_upload)){
				$errore.='<p align ="center">La cartella di destinazione non esiste</p>';
			}
			if($errore==""){
				if(move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){
					chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per poterci sovrascrivere/scaricare
					echo '<p align ="center">Upload eseguito con successo.</p>';
				}else{
					echo '<p align ="center">Impossibile effettuare l\'upload del file</p>';
				}
			}else{
				echo $errore;
			}
		}
	
?>

</body>
</html>
Sapete inoltre come far apparire una progressbar o qualcosa del genere durante il caricamento?