Aller à : navigation, rechercher

Maarch Courrier/latest/fr/Tutorials/Limiter taille upload fichiers

La taille maximale des fichiers pour l'enregistrement dans Maarch LetterBox et Maarch est imposée par php.

configuration de PHP

Plusieurs paramètres du fichier php.ini interviennent.

Les paramètres de taille

Les directives suivantes interviennent :

; La quantité de mémoire qu'un script peut utiliser :
memory_limit = 128M

; La taille maximum d'une requête HTTP POST (dans laquelle est transmise le fichier) :
post_max_size = 8M

; La taille maximale d'un fichier uploadé sur le serveur :
upload_max_filesize = 2M


La relation entre ces trois directives est : upload_max_filesize <= post_max_size < memory_limit.

Par exemple pour limiter la taille des fichiers à 100 MB, on peut les définir de la manière suivante :

memory_limit = 128M 
post_max_size = 101M
upload_max_filesize = 100M


Les paramètres de temps

Ensuite, il y a les directives de temps d'exécution. La configuration de celles-ci dépend des capacités du réseau (plus il est rapide, plus les valeurs peuvent être petites) :

; Le durée maximale d'exécution du script (en s.) : 
max_execution_time = 240

; La durée maximale de lecture de la requête (en s.). La valeur doit être
; suffisamment haute pour que le serveur ait le temps de recevoir le 
; fichier avant de couper la connexion : 
max_input_time = 60


avec la relation max_execution_time > max_input_time.


Par exemple avec un débit montant (upload) réel de 10MB/s, un fichier de 100MB mettra 10s à être uploadé. avec une marge de sécurité, on peut définir max_input_time à un minimum de 15s.

Autres paramètres

Configuration d'Apache

Certaines distributions d'Apache définissent la directive LimitRequestBody. Cette directive de configuration a le même rôle que la directive post_max_size de PHP. Si elle est définie, sa valeur doit-être au moins égale à la valeur de post_max_size.