亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 php教程 php手冊 關于session的幾個補充函數(shù)

關于session的幾個補充函數(shù)

Jun 21, 2016 am 09:14 AM
cookie quot save session

session|函數(shù)

在PHP下,關于session的討論很多,其實在PHP4中還有幾個函數(shù)是我們平時沒有注意到的。

下面我把它們介紹給大家吧。

其中的session_set_save_handler()可真是個好東西。

//********************
session_unset (PHP4 >= 4.0b4)

void session_unset(void);

這個函數(shù)可以把當然注冊的所有的session變量置為空。注意它不是unregister,也不同于destroy。

下面這個例子,對此函數(shù)做了很好的說明。


session_register(''a'',''b'',''c''); //auto-session-start
$a=1;
$b=2;
$c=3;
session_unregister(''a''); //unregistrered $a
echo "A: $a - reg:".session_is_registered(''a'')."
"; // but the global $a remains
session_unset(); // unsets $b und $c
echo "B:$b - reg:".session_is_registered(''b'')."
"; // the registration remains !
echo "C:$c - reg:".session_is_registered(''c'')."
";
echo session_encode();
?>

輸出:
A: 1 - reg:
B: - reg:1
C: - reg:1
!b|!c|

//********************************
session_get_cookie_params (PHP4 >= 4.0RC2)

array session_get_cookie_params (void);

返回一個數(shù)組,記錄了當前session的cookie的一些信息。
有:

"lifetime" - cookie的生存期。

"path" - cookie的保存路徑。

"domain" - cookie的域。

//*******************************
session_set_cookie_params (PHP4 >= 4.0b4)

void session_set_cookie_params (int lifetime [, string path [, string domain]])

設置session的cookie的一些參參數(shù),類似于php.ini中的設置,但本函數(shù)所作的設置,只對當前腳本文件有效。


//*******************************

下面要介紹的這個函數(shù)應是對大家都很有用的,你是不是對自定義一個不用cookie來保存的session有興趣呢?這個函數(shù)就可以實現(xiàn)你這樣的設想。

讓我想想,如果不用cookie的好處是什么?至少一點,你不用擔心客戶端的的cookie的功能是否打開了,對吧。


session_set_save_handler (PHP4 >= 4.0b4)

void session_set_save_handler (string open, string close, string read, string write, string destroy, string gc)

這個函數(shù)可以定義用戶級的session的保存函數(shù)(打開、關閉、寫入等)。
比如,我們想把session保存在本地的一個數(shù)據(jù)庫中時,本函數(shù)就很有用了。

?。?!注意:使用本函數(shù)前,先要配置php.ini文件,session.save_hadler=user ,否則,session_set_save_handler()不會生效。

此外,根據(jù)我的測試,你如果想讓這樣的session跨頁面使用,還要在每一個用到session的腳本文件中加入你自定的函數(shù)及session_set_save_handler,所以,最好的方法是做成一個單獨的文件,在每一個要用到session的腳本中用include來包含進來。

下面這個例子提供了一個最基本的session保存法,類似于默認的files方法。
如果你想用數(shù)據(jù)庫來實現(xiàn),這也是很容易做到的。

Example 1. session_set_save_handler() example


function open ($save_path, $session_name) {
global $sess_save_path, $sess_session_name;

$sess_save_path = $save_path;
$sess_session_name = $session_name;
return(true);
}

function close() {
return(true);
}

function read ($id) {
global $sess_save_path, $sess_session_name;

$sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "r")) {
$sess_data = fread($fp, filesize($sess_file));
return($sess_data);
} else {
return("");
}

}

function write ($id, $sess_data) {
global $sess_save_path, $sess_session_name;

$sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "w")) {
return(fwrite($fp, $sess_data));
} else {
return(false);
}

}

function destroy ($id) {
global $sess_save_path, $sess_session_name;

$sess_file = "$sess_save_path/sess_$id";
return(@unlink($sess_file));
}

/*********************************************
* WARNING - You will need to implement some *
* sort of garbage collection routine here. *
*********************************************/
function gc ($maxlifetime) {
return true;
}

session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");

session_start();

// proceed to use sessions normally
// 現(xiàn)在你就可以象往常一樣地使用session了。


?>


//***************************************

session_cache_limiter (PHP4 CVS only)

string session_cache_limiter ([string cache_limiter])

本函數(shù)可以設置或取得session.cache_limiter的值。
在php.ini中也可以做同樣的設置。其值有 nocache,public,private。

本函數(shù)是通過HTTP的header發(fā)送到客戶端的。如果為nocache,將禁止任何客戶端的cache。而public將允許cache,但是private相對public而言,更為安全一點。

缺省值是在php.ini中的設置,如果你要使用它,必須在每次調(diào)用session_start()之前調(diào)用本函數(shù)。

此函數(shù)現(xiàn)在只能在CVS模式下運行,但是PHP4.0.3將支持它。


Example 1. session_cache_limiter() examples


# set the cache limiter to ''private''

session_cache_limiter(''private);
$cache_limiter = session_cache_limiter();

echo "The cache limiter is now set to $cache_limiter

";
?>

//*****************************



本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權的內(nèi)容,請聯(lián)絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
cookie存在哪裡 cookie存在哪裡 Dec 20, 2023 pm 03:07 PM

Cookie通常儲存在瀏覽器的Cookie資料夾中的,瀏覽器中的Cookie檔案通常以二進位或SQLite格式存儲,如果直接開啟Cookie文件,可能會看到一些亂碼或無法讀取的內(nèi)容,因此最好使用瀏覽器提供的Cookie管理介面來檢視和管理Cookie。

電腦上的cookie在哪裡 電腦上的cookie在哪裡 Dec 22, 2023 pm 03:46 PM

電腦上的Cookie儲存在瀏覽器的特定位置,具體位置取決於使用的??瀏覽器和作業(yè)系統(tǒng):1、Google Chrome, 儲存在C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies中等等。

session失效怎麼解決 session失效怎麼解決 Oct 18, 2023 pm 05:19 PM

session失效通常是由於 session 的生存時間過期或伺服器關閉導致的。其解決方法:1、延長session的生存時間;2、使用持久化儲存;3、使用cookie;4、非同步更新session;5、使用會話管理中介軟體。

PHP Session 跨域問題的解決方法 PHP Session 跨域問題的解決方法 Oct 12, 2023 pm 03:00 PM

PHPSession跨域問題的解決方法在前後端分離的開發(fā)中,跨域請求已成為常態(tài)。在處理跨域問題時,我們通常會涉及session的使用和管理。然而,由於瀏覽器的同源策略限制,跨域情況下預設無法共享session。為了解決這個問題,我們需要採用一些技巧和方法來實現(xiàn)session的跨域共享。一、使用cookie跨域共享session最常

手機cookie在哪裡 手機cookie在哪裡 Dec 22, 2023 pm 03:40 PM

手機上的Cookie儲存在行動裝置的瀏覽器應用程式中:1、在iOS裝置上,Cookie儲存在Safari瀏覽器的Settings -> Safari -> Advanced -> Website Data中;2、在Android裝置上,Cookie儲存在Chrome瀏覽器的Settings -> Site settings -> Cookies中等等。

document.cookie取得不到怎麼解決 document.cookie取得不到怎麼解決 Nov 23, 2023 am 10:02 AM

document.cookie取得不到的解決方法:1、瀏覽器的隱私設定;2、Same-origin policy;3、HTTPOnly Cookie;4、JavaScript代碼錯誤;5、Cookie不存在或過期;6、跨域問題; 7.檢視器模式;8、伺服器問題;9、JavaScript執(zhí)行時機;10、檢查console log等。

如何尋找瀏覽器中的cookie 如何尋找瀏覽器中的cookie Jan 19, 2024 am 09:46 AM

在日常使用電腦與網(wǎng)路的過程中,我們常接觸到cookie。 Cookie是一種小型的文字文件,它保存了我們在網(wǎng)站上的存取記錄、偏好設定和其他資訊。這些資訊可以被網(wǎng)站使用,以便更好地為我們提供服務。但是有時候,我們需要找出cookie的信息,來找到我們要的內(nèi)容。那我們該如何在瀏覽器中尋找cookie呢?首先,我們要先了解cookie的存在位置。在瀏覽器中

瀏覽器cookie的儲存位置詳解 瀏覽器cookie的儲存位置詳解 Jan 19, 2024 am 09:15 AM

隨著網(wǎng)路的普及,我們使用瀏覽器進行上網(wǎng)已經(jīng)成為一種生活方式。在日常使用瀏覽器過程中,我們常會遇到需要輸入帳號密碼的情況,如網(wǎng)購、社交、郵件等。這些資訊需要瀏覽器記錄下來,以便下次造訪時不需要再次輸入,這時候Cookie就派上了用場。什麼是Cookie? Cookie是指由伺服器端發(fā)送到使用者瀏覽器上並儲存在本地的一種小型資料文件,它包含了一些網(wǎng)站的使用者行為

See all articles