本文執行個體講述了php建立session的方法。分享給大家供大家參考。具體分析如下:
儲存session只需要兩個步驟,開啟session和儲存session資料。預設情況下,session儲存在伺服器端 c:\windows\temp檔案夾下(儲存的路徑可以在php.ini檔案中修改:開啟session.save_path,填寫上儲存的路徑即可)。
session建立代碼
複製代碼 代碼如下:
<?php
echo "------如何儲存 session 資料---------<br />";
//1、初始化 session
session_start();
//2、儲存資料,可以儲存的資料類型包括:字串、整型、double型,數組,對象等
$_SESSION['name']="百度";//儲存字串
$_SESSION['age']=80;//儲存整型
//儲存數組
$arr = array("name"=>"小陳","age"=>25,"job"=>"程式員");
$_SESSION['person'] = $arr;
//儲存對象
class Dog{
public $name;
public $age;
public $color;
function __construct($name,$age,$color){
$this->name=$name;
$this->age=$age;
$this->color=$color;
}
}
$dog = new Dog("小狗",2,"黃色");
$_SESSION['dog'] = $dog;
echo "儲存成功";
?>
在C:\windows\temp檔案下,找到一個儲存session的檔案,開啟如下圖:
說明:
(1)每一個session用分號;隔開。
(2)以第一個session為例:name表示索引值、s表示字串(相應:i表示整型,a表示數組,o表示對象等)、4表示長度、"百度"表示索引值。
細節知識(很重要):
(1)每一個會話(就是開啟瀏覽器訪問某個網站,在關閉瀏覽器時,會話也就結束)對應一個session檔案;
(2)session檔案在執行 session_start()時建立,但此時,該檔案為空白,如果有session資料,則會寫入該檔案;
(3)session 資料預設保留時間為 1440秒,此時間為發獃時間,也就是在這段時間內,沒有使用過該 session 檔案(如果有使用過,那該檔案的修改時間會自動更新--右鍵查看該檔案屬性即可看到)。可以在php.ini檔案修改此預設值:session.gc_maxlifetime = 1440;
(4)重中之重:伺服器在返回用戶端瀏覽器請求時,會將session的資訊( 如:PHPSESSID=0pk6fmamnk1btcgbcf444dnd76 ),以cookie的方式返回給瀏覽器(同樣,你可以使用httpwatch來抓包查看)。當瀏覽器訪問該網站的其它頁面時,根據http協調,會把該cookie資訊發送給伺服器。伺服器再根據該資訊,尋找到對應的session檔案(對應的檔案名稱為:sess_0pk6fmamnk1btcgbcf444dnd76)。
希望本文所述對大家的php程式設計有所協助。