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

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

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

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

session|函數(shù)

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

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

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

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

void session_unset(void);

這個函數(shù)可以把當(dāng)然注冊的所有的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ù)組,記錄了當(dāng)前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]])

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


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

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

讓我想想,如果不用cookie的好處是什么?至少一點,你不用擔(dān)心客戶端的的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ù)(打開、關(guān)閉、寫入等)。
比如,我們想把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保存法,類似于默認(rèn)的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ù)可以設(shè)置或取得session.cache_limiter的值。
在php.ini中也可以做同樣的設(shè)置。其值有 nocache,public,private。

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

缺省值是在php.ini中的設(shè)置,如果你要使用它,必須在每次調(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

";
?>

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



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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(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存儲在瀏覽器的特定位置,具體位置取決于使用的瀏覽器和操作系統(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 的生存時間過期或者服務(wù)器關(guān)閉導(dǎo)致的。其解決辦法:1、延長session的生存時間;2、使用持久化存儲;3、使用cookie;4、異步更新session;5、使用會話管理中間件。

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

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

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

手機上的Cookie存儲在移動設(shè)備的瀏覽器應(yīng)用程序中:1、在iOS設(shè)備上,Cookie存儲在Safari瀏覽器的Settings -> Safari -> Advanced -> Website Data中;2、在Android設(shè)備上,Cookie 存儲在Chrome瀏覽器的Settings -> Site settings -> Cookies中等等。

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

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

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

在日常使用計算機與互聯(lián)網(wǎng)的過程中,我們經(jīng)常會接觸到cookie。cookie是一種小型的文本文件,它保存了我們在網(wǎng)站上的訪問記錄、偏好設(shè)置和其他信息。這些信息可以被網(wǎng)站使用,以便更好地為我們提供服務(wù)。但是有時候,我們需要查找cookie的信息,來找到我們要的內(nèi)容。那么我們該如何在瀏覽器中查找cookie呢?首先,我們需要了解cookie的存在位置。在瀏覽器中

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

隨著互聯(lián)網(wǎng)的普及,我們使用瀏覽器進行上網(wǎng)已經(jīng)成為一種生活方式。在日常使用瀏覽器過程中,我們經(jīng)常會遇到需要輸入賬號密碼的情況,如網(wǎng)購、社交、郵件等。這些信息需要瀏覽器記錄下來,以便于下次訪問時不需要再次輸入,這時候Cookie就派上了用場。什么是Cookie?Cookie是指由服務(wù)器端發(fā)送到用戶瀏覽器上并存儲在本地的一種小型數(shù)據(jù)文件,它包含了一些網(wǎng)站的用戶行為

See all articles