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 ?