zoukankan      html  css  js  c++  java
  • php session自定义处理

    原文:http://www.cnblogs.com/mrcoke/  这个人的博客上转的。

    这个博客也好: 学算法和数据结构!!http://blog.csdn.net/21aspnet/article/category/286009

    ------------------------------

    PHP session自定义处理,将session保存到数据库中!!!


    session.gc_probability = 1        //默认是1 ,越大越好
    
    session.gc_divisor     = 100     //默认是100,越小越好
    
    // 默认是一百次请求调用一次gc 。session.gc_probability相当于分子,session.gc_divisor相当于分母。如果想每次都调用gc 两个改成一样就可以了
    
    session.gc_maxlifetime = 30   // session生存时间
    
    <?php
     function session_open($session_path, $session_name)
     {
      mysql_connect('localhost', 'root', 'root');
      mysql_select_db('demo');
      mysql_query("SET NAMES utf8");
     }
     
     function session_close()
     {
      return TRUE;
     }
     
     function session_read($SID)
     {
      $query = "SELECT value FROM session where SID= '$SID' AND expiration >".time();
      $result = mysql_query($query);
      if(mysql_num_rows($result))
      {
       $row = mysql_fetch_assoc($result);
       $value = $row['value'];
       return $value;
      }else
      {
       return FALSE;
      }
     }
     
     function session_write($SID, $value)
     {
      $lifetime = get_cfg_var("session.gc_maxlifetime");
      $expiration = time() + $lifetime;
      $query = "INSERT INTO session VALUES('$SID', '$expiration', '$value')";
      $result = mysql_query($query);
      
      if (!$result)
      {
       $query = "UPDATE session SET expiration = '$expiration', value = '$value' WHERE SID = '$SID' AND expiration >".time();
       $result = mysql_query($query);
      } 
     }
     
     function sessionDestroy($SID)
     {
      $query = "DELETE FROM session WHERE SID = '$SID'";
      $result = mysql_query($query);
     }
     
     function session_gc()
     {
      $query = "DELETE FROM session WHERE expiration <".time();
      $result = mysql_query($query);
      echo mysql_affected_rows();
     }
     
     session_set_save_handler("session_open", "session_close", "session_read", "session_write", "sessionDestroy", "session_gc");
     session_start();
     
    ?>
    

      

  • 相关阅读:
    排序算法——堆排序 转载
    排序之冒泡排序
    排序之直接插入排序(Straight Insertion Sort)
    浅谈C++之冒泡排序、希尔排序、快速排序、插入排序、堆排序、基数排序性能对比分析
    插入法==冒泡排序
    排序的算法
    排序]
    Linux下zoopkeeper的安装和启动
    Linux下zoopkeeper的安装和启动
    Linux下切换使用两个版本的JDK
  • 原文地址:https://www.cnblogs.com/oxspirt/p/7442650.html
Copyright © 2011-2022 走看看