我们可以自己定义session的处理方法,下面为大家简单的介绍下php自定义session处理机制方法,简单说下php处理session的基本方法
```
/*
自定义session处理机制
*/
//设置session处理机制为用户自定义
iniset('session.save_handler', 'user');
//设置session前缀
define('FXT', 'sess');
/**
* 开启session
* @param [type] $path [session保存路径]
* @param [type] $session_name [session名称]
*/
function start($path, $session_name){
global $session_path;
$session_path = $path; //定义session保存路径,默认为php.ini 中 session.save_path
}
/**
* 读取session
* @param [type] $sid [sessionID]
* @return [type] [description]
*/
function read($sid){
global $session_path, $session_file;
$session_file = $session_path . DIRECTORY_SEPARATOR . FXT . $sid; //读取session文件内容
return @file_get_contents($session_file);
}
/**
* 写入session
* @param [type] $sid [sessionID]
* @param [type] $data [session内容]
* @return [type] [description]
*/
function write($sid, $data){
global $session_path, $session_file;
return file_put_contents($session_file, $data) ? true : false; //写入session文件内容
}
/**
* 销毁session
* @param [type] $sid [sessionID]
* @return [type] [description]
*/
function destroy($sid){
global $session_file;
@unlink($session_file); //删除session文件
setcookie(session_name(), '', 1, '/');
}
//关闭session php默认进行一般不做处理直接返回 true就可以了
function close(){
return true;
}
/**
* session垃圾回收处理
* @param [type] $lifetime [session最大生存时间]
* @return [type] [description]
*/
function gc($lifetime){
global $session_path;
foreach (glob($session_path.'/') as $file) {
if (filemtime($file) + $lifetime < time()) {
@unlink($file);
}
}
return true;
}
//绑定用户自定义处理session机制的函数
session_set_save_handler('start', 'close', 'read', 'write', 'destroy', 'gc');
session_start();
```
以上就是自定义php session处理机制的方法,大家自己试试读、 写、 销、 垃圾回收方法