科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件PHP中session详解

PHP中session详解

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间......

作者:佚名 来源:php2000 2007年10月27日

关键字: Linux

  • 评论
  • 分享微博
  • 分享邮件
在PHP4版本中是如何实现session的?

  php4的session也靠cookies保存session id,用文件系统保存变量(默认情况下),因此,它的session变量不能保存对象。当然也可以将session保存在数据库中。

  在php4中有关session的函数很多(详见php.ini配置一文),通常情况下我们只需要调用三个函数即可:sesssion_start()、session_register()、session_is_registered()。

  在需要用到session的每一页的最开始处调用session_start()函数, 例如:

    <?session_start()?>
    <html><body>
    <?
    $welcome="hello world !";
    session_register("welcome");//注册$welcome变量,注意没有$符号
    if(session_is_registered("welcome"))//检查$welcome变量是否注册
      echo "welcome变量已经注册了!";
    else
      echo "welcome变量还没有注册!";
    ?>
    </body></html>

  php4中session处理的定制

  我们需要扩充6个函数:
    sess_open($sess_path, $session_name);
    这个函数被session处理程序调用来作初始化工作。
    参数$sess_path对应php.ini文件中的session.save_path选项
    参数$session_name对应php.ini中的session.name 选项。

    sess_close();
    这个函数在页面结束执行并且session处理程序需要关闭时被调用

    sess_read($key);
    这个函数在session处理程序读取指定session键值($key)时,检索并返回标识为$key的session数据.(注意:序列化是将变量或对象在程序结束或需要时保存在文件中,在下次程序运行或需要时再调入内存的技术,有别于只保存数据的方法。)

    sess_write($key, $val);
    这个函数据在session处理程序需要将数据保存时调用,这种情况经常在程序结束时发生。它负责将数据保存在下次能用sess_read($key)函数检索的地方。

    sess_destroy($key);
    这个函数在需要消毁session时。它负责删除session并且清除环境。

    sess_gc($maxlifetime);
    这个函数负责清理碎片。在这种情况下,它负责删除过时的session数据。session处理程序会偶尔调用它们。

  定制程序可以用mysql数据库或DBM文件保存session数据,视具体的情况而定。如果使用mysql作支持,那还需要进行以下的步骤:
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章