在PHP中,cookie可以删除;可以将cookie的有效期设置为当前时间以前来删除,因为删除cookie需要确保该cookie的有效期在过去,才能够触发浏览器的删除机制,语法为“setcookie("Cookie_name", "" , time()-1);”。

本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑

php cookie无法删除吗

php cookie可以删除

要删除cookie需要确保它的失效期是在过去,才能触发浏览器的删除机制。

删除一个cookie的方法就是把这个cookie的有效期设置为当前时间以前

删除Cookie

当 Cookie被创建时,如果没有设置它的有效时间,其 Cookie 文件会在关闭浏览器时自动的被删除。如果要在关闭浏览器之前删除保存在客户端的 Cookie 文件,其方法有两种,而这两种方法和设置Cookie一样,也是调用setcookie() 函数实现删除 Cookie的动作: 第一种方式,省略setcookie() 函数的所有参数列,仅仅使用第一个参数 Cookie 识别名称参数,来删除指定名称的 Cookie 资料;第二种方式,利用 setcookie() 函数把目标 Cookie 设置为 “已经过期” 的状态。

1. 使用 setcookie() 函数把目标 Cookie 设置为 “已经过期” 的状态来删除 Cookie直线电机工作原理

删除 Cookie 和 创建 Cookie 的方式基本类型,删除 Cookie 也使用 setcookie() 函数。 删除 Cookie只需要将 setcookie() 函数中的第二个参数设置为空值,将第三个参数 Cookie 的失效时间设置为 小于系统的当前时间即可。

下面就来通过代码来将Cookie 的失效时间设置为当前时间减1秒。

setcookie("Cookie_name", "" , time()-1);

上面的代码中,time()函数返回以秒表示的当前的时间戳,把当前时间减1秒就会得到过去的时间,从而删除 Cookie。

2. 使用 setcookie() 函数把 Cookie 的生存时间默认设置为空, 则生存期限与浏览器一样,浏览器关闭时 Cookie就会被删除。只指定 Cookie 识别名称一个参数,即删除客户端中这个指定名称的 Cookie 资料。

setcookie("Cookie_name");

注意:把失效时间设置为0,也可以直接删除 Cookie。

Cookie 的生命周期

如果 Cookie 不设定失效时间,就表示它的生命周期就为浏览器会话的期间,只要关闭浏览器,Cookie 就会自动消失。这种 Cookie 被称为会话 Cookie ,一般不保存在硬盘上,而是保存在内存中。

如果设置失效时间,那么浏览器会把 Cookie保存到硬盘中,再次打开浏览器时会依然有效,指导它的有效期到期后。

虽然 Cookie 可以长期保存在客户端浏览器中,但也不是一成不变的。因为浏览器最多允许存储 300 个Cookie文件,而且每个 Cookie 文件支持最大容量为4KB;每个域名最多支持20个 Cookie ,如果达到限制时,浏览器会自动地随机删除 Cookie 文件。


php cookie无法删除吗