php自定义发送Session会话id,php实现session自定义会话处理器的方法

搜索热词

《:PHP实现session自定义会话处理器的方法》要点:

本文介绍了:PHP实现session自定义会话处理器的方法,希望对您有用。如果有疑问,可以联系我们。

PHP实现session自定义会话处理器的办法.分享给大家供大家参考.具体分析如下:

session自定义会话处理器,即就是说,所有关于session的各种操作,都可以通过自定义会话来自己决定.什么意思呢?先来看PHP.ini里的session.save_handler配置.

默认情况下,session.save_handler = files,表示调用的是系统定义好的处理器(所谓处理器,其实就是一大堆函数/办法).您可从将session.save_handler设置成 user 或者 memcache,甚至是网络文件系统(云计算).

session.save_handler = user:表示调用自定义的会话处理器; session.save_handler = memcache:表示...略....(大致是保存在内存里,效率更高).

当设置 session.save_handler = files 时,关于session的操作,实际上调用了session.set_save_handler(具体查看PHP手册)的六个回调函数(所谓回调函数,就是系统调用的,不需要指定调用).六个回调函数见下面代码,PHP手册里也有:

代码如下:

function open($save_path,$session_name)

{

global $sess_save_path;

$sess_save_path = $save_path;

return(true);

}

function close()

{

return(true);

}

function read($id)

{

global $sess_save_path;

$sess_file = "$sess_save_path/sess_$id";

return (string) @file_get_contents($sess_file);

}

function write($id,$sess_data)

{

global $sess_save_path;

$sess_file = "$sess_save_path/sess_$id";

if ($fp = @fopen($sess_file,"w")) {

$return = fwrite($fp,$sess_data);

fclose($fp);

return $return;

} else {

return(false);

}

}

function destroy($id)

{

global $sess_save_path;

$sess_file = "$sess_save_path/sess_$id";

return(@unlink($sess_file));

}

function gc($maxlifetime)

{

global $sess_save_path;

foreach (glob("$sess_save_path/sess_*") as $filename) {

if (filemtime($filename) + $maxlifetime < time()) {

@unlink($filename);

}

}

return true;

}

session_set_save_handler("open","close","read","write","destroy","gc");

session_start();

// proceed to use sessions normally

?>

当你把 session.save_handler设置为user时,你可以把上面这段代码重写,改成你所需要的办法,在执行PHP文件里调用即可.比如,默认情况下,我们保存 session 的文件名,都是以 sess_ 开头的,其实就是在这里设置的,你可以改成你想要的.

当然,你也可以修改 session 保存的方式,默认是保存在文件里,您可以保存到数据库里(当然不建议你这么做,数据库读取速度更慢),也可以设置保存在内存里(速度最快,在memcache相关内容中有详细讲解).

希望本文所述对大家的PHP程序设计有所赞助.

编程之家培训学院每天发布《:PHP实现session自定义会话处理器的方法》等实战技能,PHP、MysqL、LINUX、APP、JS,CSS全面培养人才。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值