Limiter taille upload fichiers

Transcription

Limiter taille upload fichiers
Limiter taille upload fichiers
La taille maximale des fichiers pour l'enregistrement dans Maarch LetterBox et Maarch est imposée par php.
Sommaire
• 1 configuration de PHP
♦ 1.1 Les paramètres de taille
♦ 1.2 Les paramètres de temps
• 2 Autres paramètres
♦ 2.1 Configuration d'Apache
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.