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 s
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