我有一条很长的文本需要保存在cookie中。我按字符数将其分解,并尝试循环地将其保存到cookie中,但只保存最后一个。下面是应该执行此操作的代码示例。
要保存cookie:
function generateRandomString($length = 10) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[random_int(0, $charactersLength - 1)];
}
return $randomString;
}
$token = generateRandomString(8851);
$name = 'ck';
$exp = 3600;
$domain = '.example.local';
if(strlen($token) > 4096) {
$values = str_split($token, 4095);
foreach ($values as $key => $value) {
setcookie(
name: $name . '_' . $key,
value: $value,
expires_or_options: time() + $exp,
domain: $domain
);
}
} else {
setcookie(
name: $name,
value: $token,
expires_or_options: time() + $exp,
domain: $domain
);
}
对于视图cookie:
<?php
echo '<pre>';
var_dump($_COOKIE);