php自定义发送Session会话id,php实现session自定义会话处理器的方法
发布日期:2021-10-30 21:00:38 浏览次数:1 分类:技术文章

本文共 1977 字,大约阅读时间需要 6 分钟。

搜索热词

《: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全面培养人才。

总结

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

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

转载地址:https://blog.csdn.net/weixin_39861823/article/details/115166123 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:freenom php,index.php
下一篇:centos php 错误日志,centos上apache错误日志在哪

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月12日 22时06分54秒