John Bautista
John Bautista

Reputation: 1480

PHP Limit in POST variables

I'm trying to send an array to a PHP script via POST method. First I serialize() it, then used base64_encode() on it. After receving it, the script then base64_decode() it then unserialize() it. I know that using base64_encode functions increases the data size by 33%, so I'm worried that the POST variables might be overwhelmed, and thus giving me an error. Is there a limit to a string that can be POST'ed? Or better, is there another way that I can use other than base64_encode to correctly pass the array to the other script? By the way, without using base64_ functions on serialization, I get the "Error:.. offset" notice.

Upvotes: 0

Views: 8104

Answers (4)

qbert220
qbert220

Reputation: 11556

It would depend on the contents of the array. If it is mostly text, then you could compress/decompress using gzcompress/gzuncompress the resulting serialized object:

$encoded = base64_encode(gzcompress(serialize($original)));

$original = unserialize(gzuncompress(base64_decode($_POST['encoded'])));

gzencode/gzdecode will probably give better compression for larger size data. If your aray contains binary data, or even worse compressed data, then this technique will probably not gain much if anything.

In addition to the PHP configuration already mentioned, your web server can also impose POST size limits, for instance the LimitRequestBody directive in apache: http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody

Upvotes: 1

user479911
user479911

Reputation:

1) The maximum amount of data you can POST is post_max_size directive in php.ini. See: http://www.php.net/manual/en/ini.core.php#ini.post-max-size

2) Perhaps you can do it through $_SESSION?

Upvotes: 0

Mārtiņš Briedis
Mārtiņš Briedis

Reputation: 17762

A php.ini value ir responsible for POST max size:

post_max_size = 10M

Upvotes: 5

Your Common Sense
Your Common Sense

Reputation: 157913

No need to worry about size, But I'd consider using sessions for this purpose

Upvotes: 1

Related Questions