在 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的詳細內容。更多資訊請關注PHP中文網其他相關文章!