Setcookie 函数
bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )
参数 | 注解 |
---|---|
name | Cookie 名称。 |
value | Cookie 值。比如 name 是 'cookiename', 可通过 $_COOKIE['cookiename'] 获取它的值。 |
expire | 过期时间,Unix 时间戳。 |
path | Cookie 有效路径。设置成 '/' 时,对 domain 整个域名有效。如果设置成 '/user/',仅对 「domain 参数值/user/」 目录及其子目录有效。默认值是本函数所属访问地址的当前目录 |
domain | Cookie 的生效域名。生效的域名为设置的域名以及它的全部子域。如果设置的是 w1.example.com,生效的就是 w1.example.com 和它的所有子域。如果设置的是 example.com,生效的就是 example.com 和它的所有子域。旧版浏览器仍然在使用废弃的 RFC 2109, 需要一个前置的点(.) 来匹配所有子域名。 |
secure | 是否仅仅通过 HTTPS 连接传输。默认值 false。 |
httponly | 是否仅仅通过 HTTP 协议访问,设置成 false 也就是不允许 JavaScript 这样的脚本语言访问。 默认值 false。 |
RFC 6265 对 setcookie() 每个参数的参考标准
以上是对 PHP 官方文档 setcookie 函数 内容,做了一些修改。
Setcookie Domain 代码示例
代码示例中的「可操作」代表可以使用 $_COOKIE 获得,以及可以使用 setcookie
修改(删除也是修改,把 expire 参数设置为小于当前时间的时间戳就是相当于删除了,例如 time()-86400
)
// example.com、*.example.com 可操作
setcookie('blog_url', '后三排-housanpai.com', time()+86400, '/', 'example.com');
// w1.example.com、*.w1.example.com 可操作
setcookie('blog_url', '后三排-housanpai.com', time()+86400, '/', 'w1.example.com');