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程序设计有所帮助。

相关文章

深入浅出讲解:php的socket通信原理

深入浅出讲解:php的socket通信原理

对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问: 1.  什么是TCP/IP、UDP? 2. ...

php数组函数序列之array_unshift() 在数组开头插入一个或多个元素

array_unshift()定义和用法 array_unshift() 函数在数组开头插入一个或多个元素。 被加上的元素作为一个整体添加,这些元素在数组中的顺序和在参数中的顺序一样。...

php Smarty 字符比较代码

eq相等, ne、neq不相等, gt大于, lt小于, gte、ge大于等于, lte、le 小于等于, not非, mod求模。 is [not] div by是否能被某数整除, i...

PHP动态规划解决0-1背包问题实例分析

本文实例分析了PHP动态规划解决0-1背包问题。分享给大家供大家参考。具体分析如下: 背包问题描述:一个承受最大重量为W的背包,现在有n个物品,每个物品重量为t, 每个物品的价值为v。...

PHP对象转换为数组函数(递归方法)

返回的是一个层次比较分明的数组对象,希望对大家有所帮助,来源WEB开发笔记(www.chhua.com)。 复制代码 代码如下: function object_to_array($ob...