下面我来详细讲解关于“php setcookie(name, value, expires, path, domain, secure) 参数详解”的攻略。
1. 基本概念
setcookie 是 PHP 中设置 cookie 的函数,主要是用来向客户端保存数据,以便下次服务端可以读取,从而达到记住用户行为或身份的效果。
setcookie 函数的基本语法:
setcookie(name, value, expire, path, domain, secure, httponly);
2. 参数说明
setcookie 函数有六个参数,下面一一说明:
- name:cookie 的名称
- value:cookie 的值
- expires:cookie 过期的时间,这个时间必须是 Unix 时间戳格式,默认为 0,表示关闭浏览器时失效。
- path:cookie 可以被发送到的路径,默认是当前目录及其所有子目录。比如,如果设置为
/temp/
,则只有在/temp/
目录及其子目录下才能获取到此 cookie。 - domain:可以访问此 cookie 的域名,默认为空,表示只有设置此 cookie 的域名可以访问。
- secure:是否仅通过 HTTPS 协议发送 cookie,默认为 false,表示可以通过 HTTP 协议发送。
- HttpOnly:用于防止 XSS 攻击,表示是否仅在 HTTP 协议下有用。
3. 示例说明
示例一
以下代码演示了如何在 cookie 中存储和读取字符串数据:
<?php
// 写入 cookie
setcookie('username', 'lucas', time() + 3600);
// 读取 cookie
echo $_COOKIE['username'];
?>
上述代码将在 cookie 中写入了 username=lucas
的键值对,并在 3600 秒后失效。访问页面时,可以通过 $_COOKIE
全局数组来获取 cookie 的值。
示例二
以下代码演示了如何在 cookie 中存储和读取数组数据:
<?php
// 写入 cookie
$favorite_foods = array(
'Fruit' => 'Apple',
'Drink' => 'Water'
);
setcookie('favorite_foods', serialize($favorite_foods));
// 读取 cookie
$favorite_foods = unserialize($_COOKIE['favorite_foods']);
echo $favorite_foods['Fruit'];
?>
上述代码将在 cookie 中写入了一个数组,需要通过 serialize
函数来将数组转换为字符串,再通过 unserialize
函数将 cookie 中字符串转换为数组。
通过这两个示例,你可以初步了解 setcookie 函数的用法,并理解每个参数的作用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php setcookie(name, value, expires, path, domain, secure) 参数详解 - Python技术站