session_id 恢復 session的內容

session_id() 存取目前 session 代號。php

語法: string session_id(string [id]);java

本函數可取得或者從新配置目前存放 Session 的代號。若無參數 id 則表示只有取得目前 Session 的代號,加上參數則表示將 Session 代號設成新指定的 id。輸入及返回均爲字符串。數據庫

輸出 session_id()session

<?php
	session_start(); 
	echo session_id();
	// 輸出 dqr58dnuqj2gufvg4o3tmjb9v4
?>

<?php
	session_id("NowaMagic");
	session_start(); 
	
	echo session_id();
	// 輸出 NowaMagic
?>

session_id 恢復 session的內容

php的session是能夠程序恢復的,這個和java不太同樣。session的恢復機制能夠實現多個應用程序session的共享,由於php的session都是以文件形式或者數據庫存儲的。首先是session_id的獲取是經過session_id()函數獲取,這個值能夠進行傳遞。函數

程序恢復session,首先要知道session_id,你們經過手冊能夠知道session的恢復經過session_id($id);可是在恢復時要注意一個前後順序,要獲得以前session的內容,必須在session_start()以前執行session_id($id),這樣才能在執行了session_start時初始化session的時候恢復到以前的內容,不然的話你獲得的是一個空的session,你什麼也得不到。以前session被從新初始化了。這個和session_start()的做用有密切關係,由於session_start告訴php,session要初始化,要從session文件中反序列化session內容,因此session_start的做用就是把以前存儲的文件內容反序列化。session_start序列化以前要知道session_id,若是沒有就生成一個新的session_id。若是有就反序列化相應文件的內容。spa

相關文章
相關標籤/搜索