首页 >后端开发 >PHP问题 >php怎么修改cookie时间

php怎么修改cookie时间

青灯夜游
青灯夜游原创
2021-07-13 18:28:542323浏览

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(&#39;Website&#39;, &#39;PHP中文网&#39;);
    setcookie(&#39;Title&#39;, &#39;Cookie&#39;, time()+3600);  // 设置 Cookie 1 小时后过期
    setcookie(&#39;Url&#39;, &#39;https://www.php.cn/&#39;, time()+3600, &#39;/&#39;, &#39;www.php.cn&#39;, false);
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($_COOKIE);
?>

输出:

Array
(
    [Website] => PHP中文网
    [Title] => Cookie
    [Url] => https://www.php.cn/
)

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

<?php
    setcookie(&#39;Website&#39;,&#39;&#39;);
    setcookie(&#39;Title&#39;,&#39;Cookie&#39;,time()-1);
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($_COOKIE);
?>

运行结果如下:

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

推荐学习:《PHP视频教程

以上是php怎么修改cookie时间的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn