自定义session储存 FILE 方式类
在php.ini配置文件中更改设置 (Registered_save_handlers 有三种方式 files user memcache)
session.save_handler = user 表示用户自定义session类
<?php
/*
* 自定义session储存File方式的类
* 打开
*
* 关闭
*
* 读取
*
* 写入
*
* 销毁
*
* 回收
*
*/
class FileSession{
private static $path = "d:/wamp/sfile/";
public static function start($path= "d:/wamp/sfile/"){
self::$path = $path;
//注册自定义函数
session_set_save_handler(
array(__CLASS__,'open'),
array(__CLASS__,'close'),
array(__CLASS__,'read'),
array(__CLASS__,'write'),
array(__CLASS__,'destroy'),
array(__CLASS__, 'gc'));
//开启会话
session_start();
}
//开始 sesssion_start()
public static function open($path,$name){
echo 'open<br/>';
return true;
}
//关闭
public static function close(){
echo 'close<br/>';
return true;
}
//读取 echo
public static function read($sid){
echo 'read<br/>';
$filename = self::$path.'yang_'.$sid;
// return 'username|s:12:"津沙港湾";age|i:33;sex|s:4:"male";';
return @file_get_contents($filename);
}
//写入 $_SESSION['username']='yang'
public static function write($sid,$data){
echo 'write<br/>';
$filename = self::$path.'yang_'.$sid;
echo $filename.'<br/>';
echo $data.'<br/>';
return file_put_contents($filename, $data);
}
//销毁 session_destroy
public static function destroy($sid){
echo 'destroy<br/>';
$filename = self::$path.'yang_'.$sid;
echo $filename.'<br/>';
return @unlink($filename);
}
//回收垃圾
public static function gc($maxlifetime){
echo 'gc<br/>';
foreach(glob(self::$path.'yang_*') as $file){
echo $file.'<br/>';
//只删除过期
if((filemtime($file)+$maxlifetime) < time()){
unlink($file);
}
}
}
}
FileSession::start();
共同学习,写下你的评论
评论加载中...
作者其他优质文章