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

yipeiwu_com6年前PHP代码库

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

相关文章

Yii2框架整合Xunsearch搜索引擎的方法

本文实例讲述了Yii2框架整合Xunsearch搜索引擎的方法。分享给大家供大家参考,具体如下: 公司一直用的YII2框架,然后要做一个中文搜索引擎,所有想的Xunsearch这个项目,...

解析zend studio中直接导入svn中的项目的方法步骤

1.在zend-studio中的项目explorer中右键-》import->选择svn->project from svn-》next-》选择create new ...l...

php实现数组中出现次数超过一半的数字的统计方法

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出...

浅谈apache和nginx的rewrite的区别

1. Nginx Rewrite规则相关指令 Nginx Rewrite规则相关指令有if、rewrite、set、return、break等,其中rewrite是最关键的指令。一个简...

php的POSIX 函数以及进程测试的深入分析

php的POSIX 函数以及进程测试的深入分析

复制代码 代码如下:<?phpecho posix_getpid(); //8805sleep(10);?> 再用 #ps -ax 这个时候如果多开开个浏览器请求,就会发...