当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP session_set_save_handler()用法及代码示例



定义和用法

会话或会话处理是一种使数据跨 Web 应用程序的各个页面可用的方法。这session_set_save_handler()函数用于设置 user-level 会话存储函数,您可以使用它来存储和检索与当前会话关联的数据。

用法

session_cache_expire($sessionhandler [,$register_shutdown]);

参数

Sr.No 参数及说明
1

sessionhandler (Mandatory)

这是实现接口 SessionHandlerInterface 和 SessionIdInterface 的类的对象。

2

register_shutdown (Optional)

如果为此参数传递值,则 session_write_close() 将注册为 register_shutdown_function() 函数。

返回值

此函数返回一个布尔值,成功时为 TRUE,失败时为 FALSE。

PHP版本

这个函数最初是在 PHP 版本 4 中引入的,并且适用于所有后续版本。

例子1

下面的例子演示了session_set_save_handler()函数。

<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  	
         function open($save_path, $session_name){
            global $session_path;
            $session_path = $save_path;
            return(true);
         }
         function close() {
            return(true);
         }
         function read($id){
            global $session_path;  
            $sess_file = "$session_path/sess_$id";
            return (string) @file_get_contents($sess_file);
         }
         function write($id, $sess_data){
            global $session_path;
            $sess_file = "$session_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 $session_path;
            $sess_file = "$session_path/sess_$id";
            return(@unlink($sess_file));
         }
         function gc($maxlifetime){
            global $session_path;
            foreach (glob("$session_path/sess_*") as $filename) {
               if (filemtime($filename) + $maxlifetime < time()) {
                  @unlink($filename);
               }
            }
            return true;
         }
         $res = session_set_save_handler("open", "close", "read", "write", "destroy", "gc");
         if($res){
            print("Successful");
         }else{
            print("A problem occurred");
         }
         session_start();
      ?>
   </body>   
</html>

执行上述 html 文件将显示以下消息。

Successful

相关用法


注:本文由纯净天空筛选整理自 PHP - session_set_save_handler() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。