setrawcookie()函数用于设置一个原始(未编码)的HTTP cookie。
用法: setrawcookie(string $name, string $value = "", array $options = []) : bool
参数:
- $name:cookie的名称。
- $value:cookie的值。
- $options:可选参数,用于指定cookie的属性,如过期时间、域名、路径等。
返回值: 如果成功设置了cookie,则返回true,否则返回false。
示例:
// 设置一个名为"username",值为"John"的cookie
setrawcookie("username", "John");
// 设置一个名为"language",值为"en"的cookie,有效期为1小时,作用域为整个域名
setrawcookie("language", "en", ["expires" => time() + 3600, "domain" => ".example.com"]);
// 设置一个名为"cart",值为一个序列化的数组的cookie,有效期为1天,仅在当前路径下可用
$cart = ["item1" => "apple", "item2" => "banana"];
setrawcookie("cart", serialize($cart), ["expires" => time() + 86400, "path" => "/"]);
// 删除名为"username"的cookie
setrawcookie("username", "", ["expires" => time() - 3600]);
注意事项:
- setrawcookie()函数必须在发送HTTP头之前调用,否则无法设置cookie。
- 为了避免XSS攻击,建议对cookie值进行适当的编码或过滤。
- 为了保护用户隐私,建议仅在必要的情况下使用cookie,并且不要存储敏感信息。