Tester taille fichier pour upload
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 :
Puis le add :
Merci
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
8 réponses
-
Tu peux récupérer la taille avec $_FILES['fichier']['size'] ...
-
Merci avion-f16, mais ça revient pas à ce que j'ai écrit :
$taille = filesize($_FILES['monfichier']['tmp_name']);
?? -
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é. -
OK ! Mais alors, pourquoi le header n'est pas effectué si la taille > 2Mo ?
Faudrait que je teste la taile à 1,999M0 ?? -
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 -
OK !!!! :o))
Merci ! -
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 ? -
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.