Désolé s'il s'agit d'un doublon, je pense que ce le serait, mais je n'ai rien trouvé.
J'ai une application flexible sur laquelle je poste des données sur un serveur php / mysql via IE. Je n'ai pas encore rencontré de problèmes, mais le savoir à l'avance pourrait me faire économiser beaucoup de frustration et de travail. Y a-t-il une taille limite pour publier des données via http?
Cet article dit non: http://www.netlobo.com/ie_form_submit.html
Cette discussion dit oui: http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method
Et tout cela va et vient ce que je peux trouver en ligne. Veuillez donc limiter les réponses aux nombres personnellement testés / vérifiés.
Je souhaite publier une chaîne XML qui peut être assez grande (disons jusqu'à 5 Mo).
Si cela fait une différence: le navigateur sera toujours IE (notre produit l'exige), le post vient de et httpService en flex, le serveur web est php, DB est mySql.
la source
Réponses:
Cela dépend de la configuration d'un serveur. Si vous travaillez avec PHP sous Linux ou similaire, vous pouvez le contrôler en utilisant le fichier de configuration .htaccess, comme ceci:
Et, oui, je peux personnellement attester que cela fonctionne :)
Si vous utilisez IIS, je n'ai aucune idée de la façon dont vous définiriez cette valeur particulière.
la source
post_max_size
paramètre? Je suis assez nouveau sur php et je ne le trouve nulle part dans notre base de code (en utilisant le processus de recherche de tout de dreamWeaver). Je demanderais à nos administrateurs système mais ils sont méchants. :-PLa partie URL d'une demande (GET et POST) peut être limitée à la fois par le navigateur et le serveur - généralement la taille de sécurité est de 2 Ko car il n'y a presque pas de navigateurs ou de serveurs qui utilisent une limite plus petite.
Le corps d'une requête (POST) est normalement * limité par le serveur en fonction de la taille en octets afin d'empêcher un type d'attaque DoS (notez que cela signifie que l'échappement de caractères peut augmenter la taille en octets du corps). Le paramètre de serveur le plus courant est de 10 Mo, bien que tous les serveurs populaires permettent d'augmenter ou de diminuer ce paramètre via un fichier ou un panneau de paramètres.
* Certaines exceptions existent avec les anciens téléphones portables ou autres navigateurs de petits appareils - dans ces cas, il s'agit plus d'une fonction d'espace de mémoire réservée à cet effet sur l'appareil que de toute autre chose.
la source
curl
De plus, dans le fichier PHP.INI, il y a un paramètre:
qui dans ma version de PHP: 5.4.16 par défaut à 1000.
Extrait du manuel: "Combien de variables d'entrée peuvent être acceptées (la limite est appliquée à $ _GET, $ _POST et $ _COOKIE superglobal séparément)"
Réf: http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars
la source
Vous pouvez publier une grande quantité de données en définissant la variable php.ini: la
max_input_vars
taille par défaut de cette variable est 1000, mais si vous souhaitez envoyer une grande quantité de données, vous devez augmenter la taille en conséquence. Si vous ne pouvez pas définir la taille depuis ini_set, vous devez le faire viahtaccess
ou en modifiant directement le fichier php.ini.la source
Comme David l'a souligné, j'irais avec KB dans la plupart des cas.
Remarque: mon formulaire est simple, juste quelques zones de texte, pas un texte long.
la source
Par défaut, la demande de publication a une taille maximale de 8 Mo. Mais vous pouvez le modifier selon vos besoins. La modification peut être effectuée en ouvrant le fichier php.ini (paramètre de configuration php).
Trouver
remplacez 8 selon vos besoins.
la source
C'est au serveur http de décider s'il y a une limite. Le produit sur lequel je travaille permet à l'administrateur de configurer la limite.
la source
L'une des meilleures solutions pour cela, vous n'utilisez pas plusieurs ou plus de 1 000 champs de saisie. Vous pouvez concaténer plusieurs entrées avec n'importe quel caractère spécial, par exemple.
@
.Regarde ça:
En utilisant n'importe quel script (JavaScript ou JScript),
Avec cela, vous contournerez le
max_input_vars
problème. Si vous augmentezmax_input_vars
le nombre de fichiers php.ini, cela nuit au serveur car il utilise plus de mémoire cache du serveur, ce qui peut parfois provoquer une panne du serveur.la source
max_input_vars
option dans lephp.ini
avec ceci. Pas exactement, ce qui a été demandé, mais toujours utile.Pour les développeurs qui ne peuvent pas modifier la configuration php en raison de l'hébergement Web. (Mes paramètres 256 Mo de taille max, 1000 variables max)
J'ai eu le même problème que seulement 2 objets sur 5 Big Data (tableaux associatifs) avec des sous-structures ont été reçus côté serveur.
Je découvre que toute la sous-structure est "aplatie" dans la demande de publication. Ainsi, un objet devient des centaines de variables littérales. Au final, au lieu de 5 variables Object, il s'agit en réalité d'envoyer des dizaines de centaines de variables élémentaires.
La solution dans ce cas est de sérialiser chacune des sous-structures en String. Il est ensuite reçu sur le serveur sous forme de 5 variables de chaîne. Exemple:
{variable1:JSON.stringify(myDataObject1),variable2:JSON.stringify(myDataObject2)...}
la source