<pre name="code" class="php">函数session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc')中
参数open和read为session开启后调用的方法参数close为session关闭时调用的方法参数write为session写入调用的方法参数destroy为session销毁时调用的方法参数gc为session自动回收机制的方法<?php
//header("content-type:text/html;charset=utf-8");
function open(){
//链接数据库
mysql_connect('ip地址','用户名','密码');
mysql_select_db('数据库');
mysql_query('set names utf8');
}
function close()
{
//echo "close------";
}
function read($session_id){
$sql = "select * from session where session_id ='$session_id'";
$session = mysql_query($sql);
$session = mysql_fetch_assoc($session);
//print_r($session);
return $session['session_des'];
}
function write($session_id,$session_des){
if($session_des==''){
return false;
}
#echo $session_id;
$sql = "select * from session where session_id = '$session_id'";
$data = mysql_query($sql);
$data=mysql_fetch_assoc($data);
if(!$data){
$sql = "insert into session(session_id,session_des) values('$session_id','$session_des')";
$res = mysql_query($sql);
if($res){
return true;
}
}else{
$sql = "update session set session_des = '$session_des' where session_id = '$session_id'";
$result = mysql_query($sql);
if($result){
return true;
}else{
return 1;
}
}
}
function destroy($session_id){
$sql = "delete from session where session_id = '$session_id'";
$session_des = mysql_query($sql);
return $session_des ;
}
function gc(){
//echo "gc------";
}
ini_set('session.save_handler','user');
session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc');
//session开启写在session_set_save_handler后面
session_start();
?>
本文介绍如何使用PHP自定义Session存储机制,通过实现特定接口来完成Session数据的存取、更新及删除等操作。文中提供了具体的函数实现示例,包括连接数据库、读取会话数据、写入会话数据等。
204

被折叠的 条评论
为什么被折叠?



