Vérification php taille fichier pour upload

Résolu/Fermé
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 4 sept. 2009 à 09:14
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 - 4 sept. 2009 à 09:55
Bonjour,

Je suis entrain de travailler sur l'upload de fichier en php (en local), et j'ai un 'tit souci avec le test sur la taille du fichier à uploader qui ne fonctionne pas.

Dans mon html j'ai ceci (mais est-ce vraiment utile ????) :

<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />

Dans mon php, j'ai ceci :

............................
$taille_maxi = 1000000;
$taille = filesize($_FILES['monfichier']['tmp_name']);
..................

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['monfichier']['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 !';
}
}
else
{
echo $erreur;
}
?>


Et si j'upload un fichier > 1Mo, j'ai le message "échec de l'upload", et non " Le fichier est tros gros".

Où se trouve mon erreur ?

Merci
A voir également:

1 réponse

P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
4 sept. 2009 à 09:55
Sans doute parce qu'un MO ne vaut pas 1000000 octets, mais 1048576.

Et si ton fichier n'est pas uploadé, peut-être qu'en effet sa taille dépasse celle définie dans le php.ini, voir le upload_max_filesize.
1