Tester taille fichier pour upload

t671 Messages postés 1638 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Dans mon script, je teste la taille du fichier à uploader.
Mais si la taille est > à ce qui est autorisé, je n'ai pas le message d'erreur demandé (aff-manif-err2.php). Bien sûr, le fichier n'est pas uploadé.
Pourquoi mon message d'erreur n'est pas affiché ?

Dans mon script de saisie :

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


Puis le add :

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

if($taille>$taille_maxi)
	{
	     header("Location: aff-manif-err2.php");
	     exit;
	}


Merci
A voir également:

8 réponses

avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Tu peux récupérer la taille avec $_FILES['fichier']['size'] ...
0
t671 Messages postés 1638 Date d'inscription   Statut Membre Dernière intervention   11
 
Merci avion-f16, mais ça revient pas à ce que j'ai écrit :

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

??
0
avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Oui, c'était juste un conseil pour éviter de perdre un peu de temps.
Le problème c'est que PHP est configuré par défaut pour un upload maxi de 2Mo. Si tu dépasses cette taille, alors c'est comme si le fichier n'était pas envoyé.
0
t671
 
OK ! Mais alors, pourquoi le header n'est pas effectué si la taille > 2Mo ?
Faudrait que je teste la taile à 1,999M0 ??
0

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

Posez votre question
avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Parce que par défaut PHP n'accepte pas les fichiers dont la taille est supérieure à 2Mo. Si tu testes avec un fichier de 1,999Mo, l'envoie fonctionnera mais tu ne seras pas redirigé vers "aff-manif-err2.php".
Tu peux augmenter cette limite dans le php.ini
0
t671
 
OK !!!! :o))
Merci !
0
t671 Messages postés 1638 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour avion-f16,

Je reviens sur la question .....
Pourquoi la redirection vers "aff-manif-err2.php" ?
Comment faire pour signaler que le fichier qui tente d'être uploadé est > à la taille maximum ?
0
avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Si la taille du fichier envoyé dépasse celle autorisée par le serveur, le serveur ignora ce fichier : $_FILES['nom_du_champ'] n'existera pas.
0