章 17. Cookies

PHP 完全地支援 HTTP Cookies。Cookie 是一種在遠程瀏覽器端儲存資料並以此來跟蹤和識別用戶的機制。您可以使用 setcookie() 函式來設置 Cookie。Cookie 是 HTTP 頭的一部分,因此 setcookie() 函式必須在其它訊息被輸出到瀏覽器前呼叫,這和對 header() 函式的限制是類似的。您可以使用輸出緩衝函式來延遲腳本的輸出,直到按照您的需要設置好了所有的 cookies 或者其它 HTTP 表頭訊息。

任何從客戶端發送給您的 cookies 將會像 GET 和 POST 資料一樣被自動的轉換為 PHP 變數,該過程受 register_globalsvariables_order 兩個設置變數的影響。如果您希望對一個 cookie 變數設置多個值,則需在 cookie 的名稱後加 [] 符號。

在 PHP 4.1.0 及更高版本,自動全域變數陣列 $_COOKIE 將總是包含所有總客戶端發來的 cookies 資料。在老版本的 PHP 中,當 track_vars 設置變數打開時,系統為 cookies 設置的陣列變數是 $HTTP_COOKIE_VARS

關於更多細節以及有關瀏覽器問題的注意事項,請參閱 setcookie() 函式。