本文實例講述了PHP自定session保存路徑及刪除、注銷與寫入的方法。分享給大家供大家參考。具體方法如下:
復制代碼 代碼如下:
$sessionpath=session_save_path(); //獲取當前session的保存路徑
echo $sessionpath;
if(strpos($sessionpath,";")!==false) //如果路徑中存在分號
{
$sessionpath=substr($sessionpath,strpos($sessionpath,";")+1); //設置新的路徑
}
function open($save_path,$session_name) //定義打開函數
{
global $sess_save_path,$sess_session_name; //預定義session路徑及名稱
$sess_save_path=$save_path; //定義保存路徑
$sess_session_name=$session_name; //定義session名稱
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)); //刪除session文件
}
function gc($maxlifetime) //定義過期函數
{
return true; //直接返回真值
}
session_set_save_handler("open","close","read","write","destroy","gc"); //設置函數
session_start(); //初始化session
//以下就可以繼續正常地使用session
希望本文所述對大家的PHP程序設計有所幫助。