Tester taille fichier pour upload

Fermé
t671 Messages postés 1425 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 24 septembre 2024 - 6 mai 2010 à 17:23
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 20 juin 2010 à 19:10
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 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
6 mai 2010 à 18:53
Tu peux récupérer la taille avec $_FILES['fichier']['size'] ...
0
t671 Messages postés 1425 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 24 septembre 2024 11
6 mai 2010 à 19:06
Merci avion-f16, mais ça revient pas à ce que j'ai écrit :

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

??
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
6 mai 2010 à 19:52
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
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 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
7 mai 2010 à 11:45
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
OK !!!! :o))
Merci !
0
t671 Messages postés 1425 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 24 septembre 2024 11
20 juin 2010 à 18:58
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 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
20 juin 2010 à 19:10
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