Limite taille des fichiers d'un formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Limite taille des fichiers d'un formulaire

Re: Limite taille des fichiers d'un formulaire

par olvlvl » 20 févr. 2013, 12:49

Pour les navigateurs qui supportent FileAPI tu peux vérifier la taille des fichiers avant leur envoi (attention, javascript tout moche !) :

[javascript]
var control = document.getElementById('myfilecontrol')

control.onchange = function() {

if (!this.files.length) return

if (this.files[0].size > MAX_SIZE)
{
alert("Le fichier est trop volumineux")
}
}
[/javascript]

Re: Limite taille des fichiers d'un formulaire

par dix2 » 20 févr. 2013, 12:18

pour le resizing, quelques pistes ici

Re: Limite taille des fichiers d'un formulaire

par niuxe » 20 févr. 2013, 10:14

Salut,
Le serveur pourrait-il limiter la taille de l'envoi d'un formulaire d'une page à l'autre?
oui :
Tout se passe dans le php.ini :

Code : Tout sélectionner

/etc/php5/apache2/php.ini
Par défaut, l'instruction doit être de 2mo.

Code : Tout sélectionner

upload_max_filesize=2M
Aussi, il doit y avoir le post maximal et la taille de la mémoire :

Code : Tout sélectionner

post_max_size = 4M memory_limit=2M
Si tu as la main sur ce fichier, fait les changements. Sinon tu as toujours la possibilité de le faire à la mano dans ton code :
//valeur à titre d'exemple. Réajuster les valeurs
ini_set('memory_limit', '96M');
ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');
Est-il possible de réduire la taille des images en utilisant un code php ou html AVANT l'envoi du formulaire?
non puisque tu n'as pas la main sur le/s fichier/s.

Limite taille des fichiers d'un formulaire

par Voleol » 20 févr. 2013, 05:02

Bonsoir à tous,

J'ai récemment réalisé un site pour un ami qui souhaite y publier des logements à louer. Il est nul en informatique, ce qui m'a amené à réaliser un formulaire Html simple permettant d'uploader jusqu'à 10 images. celui-ci dirige les images vers un fichier php qui réalise une série de tests et qui les enregistre sur un serveur.

Le tout fonctionne parfaitement en local. Le problème est en ligne. Lorsque les images ont une trop grosses tailles, il n'y en a que 3 ou 4 qui sont enregistrées dans le dossier sur le serveur. À titre indicatif, un envoi de 10 images de 900ko par image fonctionne parfaitement, tandis qu'un envoi de 3,20Mo par image ne fonctionne pas.

Voici mes questions:

Le serveur pourrait-il limiter la taille de l'envoi d'un formulaire d'une page à l'autre?

Est-il possible de réduire la taille des images en utilisant un code php ou html AVANT l'envoi du formulaire?

Je suis bien conscient que le plus simple serait de lui montrer comment réduire le poids de ses images avec un petit logiciel, mais j'aimerais que le code puisse faire le travail lui-même.

Merci pour vos réponses et n'hésitez-pas à me rediriger vers des tutos ou sur d'autres forums.

Bonne soirée.