php中可利用setcookie()函数来修改cookie时间,只需给该函数的第三个参数设置一个时间值即可;语法格式“setcookie(名称,值,expire)”,参数expire规定cookie的过期时间(Unix时间戳的形式)。

php怎么修改cookie时间插图

本教程操作环境: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', '811轩轩资源网');
setcookie('Title', 'Cookie', time()+3600);  // 设置 Cookie 1 小时后过期
setcookie('Url', 'https://www.php.cn/', time()+3600, '/', 'www.php.cn', false);
echo '<pre>';
print_r($_COOKIE);
?>

输出:

Array
(
[Website] => 811轩轩资源网
[Title] => Cookie
[Url] => https://www.php.cn/
)

使用 setcookie() 函数修改cookie时间为过期时间—即删除cookie

<?php
setcookie('Website','');
setcookie('Title','Cookie',time()-1);
echo '<pre>';
print_r($_COOKIE);
?>

运行结果如下:

Array
(
[Url] => http://c.biancheng.net/php/
)

推荐学习:《PHP视频教程》

以上就是php怎么修改cookie时间的详细内容,更多请关注811轩轩资源网其它相关文章!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注