PHP post_max_size remplace upload_max_filesize
En hôte de sites mon site, j'ai vu (via la fonction phpinfo) que
- post_max_size = 8 mo
- upload_max_filesize = 16Mb
Ce qui m'a conduit à penser que je devrais être capable de télécharger un fichier aussi gros que 16 mo.
Cependant, lorsque je le faire par une méthode post (comme d'habitude), post_max_size prend le dessus et déclare que j'ai envoyé trop.
Quelle est la méthode qui permet d'envoyer un fichier aussi gros que 16mo ?
OBTENEZ - METTEZ - les autres ?
Espère que quelqu'un peut préciser cela pour moi.
Simon
Vous devez vous connecter pour publier un commentaire.
upload_max_filesize
est la limite d'un seul fichier.post_max_size
est à la limite de l'ensemble du corps de la demande, ce qui pourrait inclure plusieurs fichiers.Donné
post_max_size = 20M
etupload_max_filesize = 6M
vous pouvez télécharger jusqu'à 3 fichiers de 6M de chacun. Si, au lieupost_max_size = 6M
etupload_max_filesize = 20M
ensuite, vous pouvez seulement de téléchargement d'une longueur de 6M fichier avant de frapper post_max_size. Il ne permet pas d'avoirupload_max_size
>post_max_size
.Il n'est pas évident de savoir comment reconnaître aller sur
post_max_size
.$_POST
et$_FILES
sera vide, mais$_SERVER['CONTENT_LENGTH']
sera > 0. Si le client n'a tout simplement pas en mesure de télécharger toutes les variables post ou des fichiers, puis$_SERVER['CONTENT_LENGTH']
sera de 0.Par la POSTE les téléchargements de fichiers sont fait (souvent, il ya aussi d'autres méthodes). Regardez dans l'attribut method du formulaire qui contient le fichier de téléchargement de domaine 😉
La limite la plus basse de tout paramètre remplace un réglage plus élevé:
Voir Gérer les uploads de fichier: Commune Pitfals qui explique cela en détail et la façon de calculer les valeurs.
La méthode normale pour envoyer un fichier à télécharger est POST, donc aussi
post_max_size
devrait être de 16 Mo ou plus.Par ailleurs, également
memory_limit
joue un rôle. Il devrait être plus grand que 16 mo, mais puisque la valeur par défaut est de 128 mo, vous ne verrez pas ce problème. Exemplephp.ini
configuration:Modifier ces valeur dans
php.ini
si vous avez accès, sinon, vous pouvez essayer de les changer dans un.htaccess
fichier.Cela fonctionnera seulement si le
AllowOverride
paramètres le permettent. Sinon, vous avez à demander à votre compagnie d'hébergement.post_max_size:
upload_max_filesize:
memory_limit > post_max_size > upload_max_filesize
PHP par Défaut: 128M > 8M > 2M
Par défaut, post_max_size devrait être 4 fois plus grande que upload_max_filesize.
À son tour
memory_limit devrait être de 16 fois plus grande que post_max_size
Vos paramètres de configuration de serveur permet aux utilisateurs de télécharger des fichiers jusqu'à 16 MO (parce que vous avez mis upload_max_filesize = 16 mo), mais le post_max_size accepte publier des données jusqu'à 8 MO seulement. C'est pourquoi, il renvoie une erreur.
De la cité officielle de PHP site:
Vous devez toujours configurer votre post_max_size valeur supérieure à la valeur de upload_max_filesize.
modifier dans le php.ini
max_input_vars 1000