2010-02-16 5 views
18

Mi stavo chiedendo se qualcuno conosce la lunghezza totale che potrebbe essere un post globale. per esempio:PHP: qual è la lunghezza totale di una variabile globale post?

$_POST['formInput'] = "hello world, how long can i be?"; 

sto creando un sito in cui qualcuno entrerà una quantità sconosciuta di caratteri in una textarea, quindi potenzialmente potrebbe essere di 2 pagine su un documento word. Quindi, se qualcuno conosce altri metodi su come posso farlo oltre all'uso di un post globale? (non può essere salvato in un file, come i suoi dati importanti che non voglio che le altre persone trovino) Sarebbe molto utile.

Grazie

+1

possibile duplicato di [Qual è il limite di dimensione di una richiesta di posta?] (Http://stackoverflow.com/questions/2364840/what-is-the-size-limit-of-a-post-request) questo è più vecchio di un mese, ma l'altro è meglio messo IMHO –

risposta

21

Controlla la tua php.ini per post_max_size. Di solito si tratta di circa 8 MB, ma se si utilizza l'hosting condiviso, potrebbe sicuramente variare.

; Maximum size of POST data that PHP will accept. 
post_max_size = 8M

Dovrete usare $_POST se si desidera inviare grandi quantità di dati al server. Per ulteriori approfondimenti, suggerirei di verificare POST Method Uploads nella documentazione.

+10

Anche Apache ha le direttive LimitRequestBody e LimitRequestFieldSize, non sempre sicuro di presumere che sia limitato solo da PHP. – tadamson

7

$_POST viene popolato dal corpo di una richiesta HTTP. Poiché non ci sono restrizioni sulla dimensione di una richiesta HTTP, non ci sono restrizioni nel livello del protocollo. Tuttavia PHP ha alcune limitazioni su quanto input leggerà. È possibile controllare questo con l'ini-impostazione post_max_size

1

Se si desidera che una grande quantità di dati inviati dal browser al server, sarà necessario utilizzare il metodo HTTP POST - il che significa che i dati verranno ricevuti, in il lato PHP, nell'array superglobal $_POST; non c'è molto che tu possa fare al riguardo.

La direttiva di configurazione post_max_size definisce la quantità massima di dati che è possibile ricevere utilizzando il metodo POST - potrebbe essere necessario impostarlo su un valore superiore a quello predefinito, in base alle proprie esigenze.

E, come detto sulla documentazione di post_max_size, anche il valore impostato per memory_limit può avere la sua importanza.

3

Un altro problema può essere il limite predefinito in php.ini per direttiva max_input_vars (valore predefinito 1000), non solo post_max_size. Se hai, ad es. una forma molto grande con migliaia di checkbox l'array $ _POST avrà solo 1000 chiavi.

+1

Questo in realtà ha risolto il mio problema con una richiesta molto inferiore a 'post_max_size', ma ha raggiunto il limite' max_input_vars'. Grazie! – themarketka

+1

Uomo hai salvato la mia giornata. Ho pubblicato solo circa 80kb di dati ma con> 1000 campi (grande formato). I campi arbitrari sembravano mancare sul lato di PHP fino a quando non ho verificato che cosa il browser inizialmente ha pubblicato rispetto a ciò che $ _POST [] in realtà conteneva e ho capito che "solo" 1000 campi in cui venivano analizzati. – flu

Problemi correlati