在 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()
方法将该实例添加到响应中,从而实现了删除操作。
以上就是laravel5 删除cookie的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!