string session_cache_limiter ( [string cache_limiter]) 函式返回當前快取限制的名字. 如果指定了 cache_limiter, 當前的快取限制的名字被改為新值。
基本介紹
- 外文名:session_cache_limiter
- 定義:返回當前快取限制的名字
- 客戶端:快取方式
- 特點:預設是180分鐘
語法,注意,快取方式分類,例子,
語法
string session_cache_limiter ( [string cache_limiter])
return String 快取限制的名字
參數 | 描述 |
cache_limiter | 要設定的快取限制的名字 |
注意
這個函式在 PHP 4.0.3 里加入 快取限制控制著 HTTP 頭髮送到客戶端的快取控制. 這些確定頁面內容規則的頭內容可以被快取.如果設定快取設定為沒有快取(nocache), 將不允許任何客戶端快取. 但是公共變數可以允許快取. 他也可以設定為私有的,這個比公共的多一點限制.
快取顯示在請求開始時被重新設定為 session_cache_limiter 的默認值.這樣,你需要在每次請求時調用 session_cache_limiter() for every request (在 session_start() 調用前)
快取方式分類
session_cache_limiter,它是session在客戶端的快取方式,有nocache,private,private_no_expire,public這幾種。
cache是屬於瀏覽器的特性,它決定你瀏覽網頁的快取方式,沒有快取的情況會使你按瀏覽的“後退”鍵時提示要你更新連線,之前的內容就沒有了,比如你填入的表單信息,都被丟失。
通過header("Cache-Control: no-store, no-cache, must-revalidate");函式也一樣達到效果。
然而,session的處理機制里,就強制自動調用了header函式設定cache,這個置就由php.ini中的預設值session.cache_limiter值或由session_cache_limiter函式設定所取代。
session_cache_limiter內的幾個參數意義是:
nocache:當然是不快取(比如:表單信息被清除),但公共變數可以快取
private:私有方式快取(比如:表單信息被保留,但在生存期內有效)
private_no_cache:私有方式但不過期(表單信息被保留)
publice:公有方式,(表單信息也被保留)
它們之間的具體區別,我還不是太清楚,可以區別的是除nocache外其它的都可以快取,private方式還受生存期影響,這個生存期應該是由session.cache_expire給定,它在php.ini中設定或session_cache_expire函式設定,預設是180分鐘。
例子
<?php
/* set the cache limiter to 'private' */
session_cache_limiter('private');