复制代码 代码如下:
$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