Upload d'avatar filesize marche pas?

Résolu
Damino10 -  
 Damino10 -
Bonjour,

je voudrais limiter l'envoi des fichier a 2mo via la fonction filesize mais elle n'a pas l'air de marcher sur mon formulaire d'avatar je vous montre:


<?php
if(!empty($_FILES)) {
//Settings
$maxsize = 2048576;

$size = filesize($_FILES['image']['tmp_name']);
if($size>$maxsize)
{
$erreur='Le fichier est trop gros...';
}


}
?>
<form method="post" action="upload.php" enctype="multipart/form-data">
<label for="image" ></label>
<input type="file" name="image" />
<input type="submit" value="envoyer" />
</form>
<div class="error"><?php if(isset($erreur)) echo $erreur;?></div>

malgrès l'envoi de fichier supérieur a 2 mo je ne reçois pas l'erreur 'Le fichier est trop gros'.

ou est ce que j'ai fait une faute? merci d'avance

bonne journée
A voir également:

5 réponses

Utilisateur anonyme
 
Bonjour

As-tu affiché $size et $maxsize pour savoir ce que tu compares vraiment ?
[Edit]
Les fichiers de plus de 2Mo sont-ils effectivement téléchargés ? Ne sont-ils pas simplement refusés par ton serveur ? Tu devrais tester $_FILES['image']['error'] pour voir si ça c'est bien passé.
https://www.php.net/manual/fr/features.file-upload.post-method.php
0
Damino10
 
Bonjour le père,

Effectivement les images de plus de 2mo ne sont pas téléchargé et bel et bien bloqué par le serveur.
Pour en être sur j'ai modifier mon code avec $maxsize a 100octe et la je reçois bien l'erreur "Le fichier est trop gros..."
Mais comment faire donc pour que l'utilisateur reçoive quand même une erreur pour un fichier dépassant 2 mo sachant que c'est le serveur qui bloque et pas php ?

bonne journée
0
Utilisateur anonyme
 
As-tu testé $_FILES['image']['error'] comme je te l'ai suggéré ?
0
Damino10
 
Oui j'obtiens l'erreur UPLOAD_ERR_INI_SIZE
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Donc, tu sais quoi faire pour avertir l'utilisateur : teste l'erreur
0
Damino10
 
Merci, sujet résolu !
0