39 votes

Le téléchargement HTML MAX_FILE_SIZE ne semble pas fonctionner

Je me demande comment le champ caché nommé MAX_FILE_SIZE est censé fonctionner ?

<form action="" method="post" enctype="multipart/form-data">
    <!-- in byes must preceed file field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="2097152" /> 
    <input type="file" name="upload" />

    <input type="submit" name="submit" value="Submit" />
</form>

J'ai téléchargé un fichier de plus de 4 Mo, mais je n'ai reçu aucun avertissement du côté client (je ne parle pas du côté serveur). Qu'est-ce que MAX_FILE_SIZE est censé faire ?

MISE À JOUR

OK donc c'est pour PHP d'imposer une limite "soft". Mais y a-t-il une différence entre l'utiliser et vérifier quelque chose comme $_FILES['upload']['size'] < 2000 en code ?

4voto

Álvaro G. Vicario Points 57607

En fait, ça ne marche pas vraiment. Vous trouverez une explication dans l'un des commentaires de la page du manuel : http://www.php.net/manual/en/features.file-upload.php#74692

Réponse à la question mise à jour : la différence évidente est que les vérifications côté serveur sont fiables, pas les vérifications côté client.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X