资讯专栏INFORMATION COLUMN

php session文件存储调用方式

eccozhou / 1421人阅读

摘要:调用调用执行完毕调用获取数据调用赋值调用调用过期调用

class FileSessionHandler implements SessionHandlerInterface
{
    private $savePath;
    
    /**
     * 调用 session_start 调用
     *
     * @param string $savePath
     * @param string $sessionName
     * @return bool
     */
    function open($savePath, $sessionName)
    {
        echo "open.
";
        $this->savePath = $savePath;
        if (!is_dir($this->savePath)) {
            mkdir($this->savePath, 0777);
        }

        return true;
    }
    
    /**
     * session 执行完毕调用
     *
     * @return bool
     */
    function close()
    {
        echo "close.
";

        return true;
    }
    
    /**
     * 获取session数据调用
     *
     * @param string $id
     * @return string
     */
    function read($id)
    {
        echo "read.
";

        return (string)@file_get_contents("$this->savePath/sess_$id");
    }
    
    /**
     * session赋值调用
     *
     * @param string $id
     * @param string $data
     * @return bool
     */
    function write($id, $data)
    {
        echo "write.
";

        return file_put_contents("$this->savePath/sess_$id", $data) === false ? false : true;
    }
    
    /**
     * 调用session_destory
     *
     * @param string $id
     * @return bool
     */
    function destroy($id)
    {
        echo "destroy.
";

        $file = "$this->savePath/sess_$id";
        if (file_exists($file)) {
            unlink($file);
        }

        return true;
    }
    
    /**
     * 过期调用
     *
     * @param int $maxlifetime
     * @return bool
     */
    function gc($maxlifetime)
    {
        echo "gc.
";

        foreach (glob("$this->savePath/sess_*") as $file) {
            if (filemtime($file) + $maxlifetime < time() && file_exists($file)) {
                unlink($file);
            }
        }

        return true;
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31709.html

相关文章

  • 详解Session

    摘要:会在脚本执行完毕或调用函数之后调用此回调函数。此回调函数操作成功返回,反之返回。在回调函数中,以传入的作为,以的值作为中的值存入,并设置过期时间为秒方法以传入的为从取出相应的的值。 1 Session的基本概念和设置 Session存储在服务端,本质上和Cookie没有区别,都是针对http协议的局限性而提出的一种保持客户端和服务端间会话状态的机制。Session经常用来网站的上下文间...

    joy968 评论0 收藏0
  • PHP学习记录(session与cookie)

    摘要:为应用程序启用会话状态时,将检查应用程序中每个页面请求是否有浏览器发送的值。如果未提供任何值,则将启动一个新会话,并将该会话的值随响应一起发送到浏览器。 session 什么是session? session在计算机中,尤其在网络应用中,称为会话控制;具体到web中的session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏这个网站所花费的时间。...

    silenceboy 评论0 收藏0
  • session和cookie

    摘要:的作用就是为了解决协议无状态的缺陷所作的努力。的内容主要包括名字,值,过期时间,路径和域。这种生命期为浏览器会话期的被称为会话。而机制采用的是一种在服务器端保持状态的解决方案。中的有效期默认分钟,也就是说,客户端超过分钟,当前就会失效。 会话控制是什么? cookie和session都是跟踪整个会话过程的技术手段。而会话,就是用户通过浏览器和服务器的一次通话。 为什么要有会话控制? 因...

    ruicbAndroid 评论0 收藏0
  • PHP --- Session

    摘要:服务器给访问者唯一的钥匙,这个钥匙被称作。与合起来用来管理垃圾回收进程启动的概率。例如意味着在每个请求中有的概率启动进程。值为表示直到关闭浏览器。过期时间设置为秒启动概率设置为 什么是 Session 在 web 应用开发中,Session 被称为会话。主要被用于保存某个访问者的数据。由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的。既然如此,...

    stackfing 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<