Problème pour un script d'upload de fichier

Salut,

Je suis en train de faire un script pour uploader des fichiers.

Voici le code


if(isset($_POST['envoyer']))
	{
	
	$dossier = 'upload/';
	$fichier = basename($_FILES['fichier']['name']);
	$taille_maxi = 2000000;
	$taille = filesize($_FILES['fichier']['tmp_name']);
	echo 'taille : '.$taille;

	if($taille>$taille_maxi)
	{
		$erreur = 'Le fichier est trop gros...';
	}
	
	if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
		{
			//On formate le nom du fichier ici...
			$fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
			$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
			if(move_uploaded_file($_FILES['fichier']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
			{
			echo 'Upload effectué avec succès !';
			}
			else //Sinon (la fonction renvoie FALSE).
			{
			echo 'Echec de l\'upload !<br/>';
			}
		}
		else
	{
		echo $erreur;
	}
	
}

	else
	{
	echo '<form method="POST" action="upload.php" enctype="multipart/form-data">';	
    echo 'Fichier (taille max : 2Mo) : <input type="file" name="fichier"><br/>';
    echo '<input type="submit" name="envoyer" value="Envoyer le fichier">';
	echo '</form>';	
	}

Lorsque je met un fichier qui fait moins que 2Mo c’est nikel.
Mais lorsque je met un fichier plus gros que 2Mo, ca m’affiche « echec de l’upload » alors que normalement ca devrais m’afficher le message d’erreur « Le fichier est trop gros … ».
Et alors quand je met un très gros fichier (>9Mo), le submit est meme pas pris en compte et ca me remet direct sur le formulaire (c’est meme pas traité).

Est ce que quelqu’un saurais pourquoi ca me fais ca ?

Merci de vos réponses

que dit upload_max_filesize dans php.ini ?