setcookie()
函数用于定义与其余 HTTP 标头一起发送的 cookie。
Cookie 常用于识别用户。Cookie 是服务器嵌入到用户计算机上的小文件。每次同一台计算机通过浏览器请求页面时,它都会发送该 cookie。使用 PHP,您可以创建和检索 cookie 值。
Cookie 的名称会自动分配给同名的变量。例如,如果发送了一个名为 "user"
的 cookie,则会自动创建一个名为 $user
的变量,其中包含 cookie 的值。
注意:setcookie()
函数必须出现在 <html>
标签之前。
注意:发送 cookie 时,cookie 的值会自动进行 URL 编码;接收时,会自动进行解码(要防止 URL 编码,请使用 setrawcookie()
代替)。
setcookie(name, value, expire, path, domain, secure, httponly);
参数 | 描述 |
---|---|
name | 必需。指定 cookie 的名称。 |
value | 可选。指定 cookie 的值。 |
expire |
可选。指定 cookie 的过期时间。 值 time()+86400*30 将使 cookie 在 30 天后过期。 如果省略此参数或设置为 0,cookie 将在会话结束时(即浏览器关闭时)过期。 默认为 0。 |
path |
可选。指定 cookie 的服务器路径。 如果设置为 "/",则 cookie 对整个域都可用。 如果设置为 "/php/",则 cookie 仅对 php 目录及其所有子目录可用。 默认值是设置 cookie 的当前目录。 |
domain |
可选。指定 cookie 的域名。 要使 cookie 在 example.com 的所有子域中都可用,请将 domain 设置为 "example.com"。 将其设置为 www.example.com 将使 cookie 仅在 www 子域中可用。 |
secure |
可选。指定是否仅通过安全的 HTTPS 连接传输 Cookie。 TRUE 表示仅当存在安全连接时才设置 Cookie。 默认为 FALSE。 |
httponly |
可选。如果设置为 TRUE,则 Cookie 仅能通过 HTTP 协议访问(Cookie 无法通过脚本语言访问)。 此设置有助于减少通过 XSS 攻击进行的身份盗用。 默认为 FALSE。 |