本文實例講述了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程序設計有所幫助。