我知道在php中存储数据的方法。 但是当我在PHP中存储长数组时,此方法不起作用。 该数组有大约3000个值(82382个字符)。
我这样做:
$encoded_db_data = base64_encode(serialize($query_result));
setcookie("db_select_result", '$encoded_db_data');
但 db_select_result 正在打印空白(无值)。我该如何解决这个问题?
答案 0 :(得分:1)
用户代理可以完全忽略收到的cookie。对于 例如,用户代理可能希望阻止接收cookie 来自“第三方”回复或用户代理可能不希望 存储超过一定大小的cookie。
来自:http://www.faqs.org/rfcs/rfc6265.html
考虑下一个选项:
1.拆分数组的数据并将其放在多个cookie中。
2.使用sessions
(与他们有“短命”的cookie不同)[http://www.php.net/manual/en/session.examples.basic.php]
3.将Database
中的数据存储为“唯一键”,然后设置一个cookie
唯一键,以便您能够识别从数据库中提取哪些数据。
4.使用数组中较少的数据并尝试将其放入cookie中。