2016-09-20 27 views
0

php中,我使用setcookie來創建cookie,如docs所述,如果您未指定path參數,則Cookie將在當前目錄及其所有子目錄。但我需要的cookie只能在當前目錄中使用,而不能在其子目錄中使用。我怎樣才能做到這一點?如何在特定路徑中但不在其子目錄中使用`cookie`

//it is available in current directory and all of its sub-directories: 
setcookie("TestCookie", $value); 
//with the same effect: 
setcookie("TestCookie", $value,/current-directory/); 

我要排除/current-directory/*

非常感謝您

+2

我不知道'setcookie()函數'函數內的溶液中。您可以簡單地使用'$ _SERVER [「REQUEST_URI」]或$ _SERVER [「PHP_SELF」]'和一個正則表達式來檢查當前腳本/ uri的路徑,以使用或忽略該cookie。 –

回答

0

據我所知,這是不可能的。

但是,您可以將您的信息存儲在$_SESSION變量中,並自行使用$_SERVER["REQUEST_URI"]進行路徑檢查。

的路徑選擇

的另一種方法,以控制當Cookie頭將被髮送是指定路徑的選項。與域選項類似,path指示在發送Cookie標頭之前必須存在於請求的資源中的URL路徑。該比較是通過將選項值字符與請求URL的開頭進行比較來完成的。如果字符匹配,則發送Cookie標頭。示例:

Set-Cookie: name=Nicholas; path=/blog

在這個例子中,路徑選擇將匹配/博客,/網誌串連等;任何以/ blog開頭的內容都是有效的。請注意,只有域選項通過驗證後才能進行比較。 path選項的默認值是發送Set-Cookie頭的URL的路徑。

源:https://www.nczonline.net/blog/2009/05/05/http-cookies-explained/

相關問題