PHP自定session保存路径及删除、注销与写入的方法

  本文实例讲述了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程序设计有所帮助。