php中可利用setcookie()函数来修改cookie时间,只需给该函数的第三个参数设置一个时间值即可;语法格式“setcookie(名称,值,expire)”,参数expire规定cookie的过期时间(Unix时间戳的形式)。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
在php中,可以利用setcookie()函数来修改cookie时间。
setcookie() 函数向客户端发送一个 HTTP cookie。
cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当同一台计算机通过浏览器请求页面时,就会发送这个 cookie。
cookie 的名称自动指定为相同名称的变量。例如,如果被发送的 cookie 名为 "user",则会自动创建一个名为 $user 的变量,包含 cookie 的值。
必须在任何其他输出发送到客户端前对 cookie 进行赋值。
如果成功,该函数返回 TRUE。如果失败则返回 FALSE。
setcookie() 函数的语法格式如下:
setcookie($name,$value,$expire,$path,$domain,$secure,$httponly)
参数说明如下:
$name:设置 Cookie 的名称;
$value:可选参数,用来设置 Cookie 的值。可以通过 $_COOKIE['$name'] 的形式来获取 $value 的值;
$expire:可选参数,用来设置 Cookie 的过期时间,这个时间是 Unix 时间戳的形式。如果设置成零或者忽略该参数,Cookie 会在会话结束时过期(也就是关掉浏览器时);
$path:可选参数,用来设置 Cookie 有效的服务器路径。 设置成 '/' 时,Cookie 对整个域名 $domain 有效。 如果设置成'/foo/',则 Cookie 仅仅对 $domain 中 /foo/ 目录及其子目录有效(比如 /foo/bar/)。默认值为设置 Cookie 时的目录;
$domain:可选参数,用来设置 Cookie 的有效域名/子域名。设置成子域名(例如 'c.biancheng.net'),会使 Cookie 对这个子域名和它的三级域名有效(例如 php.c.biancheng.net)。 要让 Cookie 对整个域名有效(包括它的全部子域名),只要设置成域名就可以了(例如 'biancheng.net');
$secure:可选参数,用来设置这个 Cookie 是否仅仅通过安全的 HTTPS 连接传给客户端。设置成 TRUE 时,只有安全连接存在时才会设置 Cookie;
$httponly:可选参数,设置成 TRUE 时,Cookie 仅可通过 HTTP 协议访问,也就是说 Cookie 无法通过类似 JavaScript 这样的脚本语言访问。设置该参数可以有效的减少受到 XSS 攻击的风险。
注意:如果在调用 setcookie() 函数以前产生了输出,setcookie() 会调用失败并返回 FALSE。 如果 setcookie() 成功运行,则会返回 TRUE。
示例:
使用 setcookie() 函数创建 Cookie。
<?php setcookie('Website', 'PHP中文网'); setcookie('Title', 'Cookie', time()+3600); // 设置 Cookie 1 小时后过期 setcookie('Url', 'https://www.php.cn/', time()+3600, '/', 'www.php.cn', false); echo '<pre class="brush:php;toolbar:false">'; print_r($_COOKIE); ?>
输出:
Array ( [Website] => PHP中文网 [Title] => Cookie [Url] => https://www.php.cn/ )
使用 setcookie() 函数修改cookie时间为过期时间---即删除cookie
<?php setcookie('Website',''); setcookie('Title','Cookie',time()-1); echo '<pre class="brush:php;toolbar:false">'; print_r($_COOKIE); ?>
运行结果如下:
Array ( [Url] => http://c.biancheng.net/php/ )
推荐学习:《PHP视频教程》
以上是php怎么修改cookie时间的详细内容。更多信息请关注PHP中文网其他相关文章!