laravel5 刪除cookie

laravel 5 中,可以通過(guò) $request->Cookie() 方法獲取當(dāng)前請(qǐng)求中的指定 cookie 值。如果你想刪除一個(gè)指定的 cookie,可以使用 response 實(shí)例上的 withcookie() 方法,并將 cookie 的過(guò)期時(shí)間設(shè)置為一個(gè)過(guò)去的時(shí)間。例如:

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

上述代碼將在響應(yīng)中設(shè)置名為 name 的 cookie 值為 null,并將其過(guò)期時(shí)間設(shè)置為一個(gè)過(guò)去的時(shí)間戳。通過(guò)這種方式,瀏覽器將不再保存該 cookie,從而實(shí)現(xiàn)了刪除操作。

如果你想刪除所有的 cookie,可以循環(huán)遍歷所有的 cookie,并分別設(shè)置其過(guò)期時(shí)間為過(guò)去的時(shí)間。

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

上述代碼會(huì)先遍歷所有的 cookie,然后使用 setcookie() 函數(shù)將每一個(gè) cookie 的過(guò)期時(shí)間設(shè)置為當(dāng)前時(shí)間減去一小時(shí),并將其路徑設(shè)置為根路徑。如果你在使用 Laravel 5,可以使用它提供的 Cookie 輔助函數(shù)來(lái)實(shí)現(xiàn)相同的效果。

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

Cookie::forget() 方法將創(chuàng)建一個(gè)新的 Cookie 實(shí)例,并將其過(guò)期時(shí)間設(shè)置為過(guò)去的時(shí)間。然后,Cookie::queue() 方法將該實(shí)例添加到響應(yīng)中,從而實(shí)現(xiàn)了刪除操作。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊13 分享
站長(zhǎng)的頭像-小浪學(xué)習(xí)網(wǎng)月度會(huì)員