laravel5 删除cookie

laravel 5 中,可以通过 $request->Cookie() 方法获取当前请求中的指定 cookie 值。如果你想删除一个指定的 cookie,可以使用 response 实例上的 withcookie() 方法,并将 cookie 的过期时间设置为一个过去的时间。例如:

return response('Hello World')->withCookie(cookie('name', NULL, -1));

上述代码将在响应中设置名为 name 的 cookie 值为 null,并将其过期时间设置为一个过去的时间戳。通过这种方式,浏览器将不再保存该 cookie,从而实现了删除操作。

如果你想删除所有的 cookie,可以循环遍历所有的 cookie,并分别设置其过期时间为过去的时间。

foreach($_COOKIE as $key => $value) {   setcookie($key, $value, time() - 3600, '/'); }

上述代码会先遍历所有的 cookie,然后使用 setcookie() 函数将每一个 cookie 的过期时间设置为当前时间减去一小时,并将其路径设置为根路径。如果你在使用 Laravel 5,可以使用它提供的 Cookie 辅助函数来实现相同的效果。

foreach($_COOKIE as $key => $value) {   Cookie::queue(Cookie::forget($key)); }

Cookie::forget() 方法将创建一个新的 Cookie 实例,并将其过期时间设置为过去的时间。然后,Cookie::queue() 方法将该实例添加到响应中,从而实现了删除操作。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享