vrana           Wed Sep  6 11:50:01 2006 UTC

  Modified files:              
    /phpdoc/en/reference/session/functions      session-set-save-handler.xml 
  Log:
  Improve example
  
http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/session/functions/session-set-save-handler.xml?r1=1.13&r2=1.14&diff_format=u
Index: phpdoc/en/reference/session/functions/session-set-save-handler.xml
diff -u phpdoc/en/reference/session/functions/session-set-save-handler.xml:1.13 
phpdoc/en/reference/session/functions/session-set-save-handler.xml:1.14
--- phpdoc/en/reference/session/functions/session-set-save-handler.xml:1.13     
Tue Feb 14 08:22:56 2006
+++ phpdoc/en/reference/session/functions/session-set-save-handler.xml  Wed Sep 
 6 11:50:00 2006
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.13 $ -->
+<!-- $Revision: 1.14 $ -->
 <!-- splitted from ./en/functions/session.xml, last change in rev 1.23 -->
   <refentry id="function.session-set-save-handler">
    <refnamediv>
@@ -68,10 +68,9 @@
 <?php
 function open($save_path, $session_name) 
 {
-  global $sess_save_path, $sess_session_name;
-       
+  global $sess_save_path;
+  
   $sess_save_path = $save_path;
-  $sess_session_name = $session_name;
   return(true);
 }
 
@@ -82,25 +81,21 @@
 
 function read($id) 
 {
-  global $sess_save_path, $sess_session_name;
-
+  global $sess_save_path;
+  
   $sess_file = "$sess_save_path/sess_$id";
-  if ($fp = @fopen($sess_file, "r")) {
-    $sess_data = fread($fp, filesize($sess_file));
-    return($sess_data);
-  } else {
-    return(""); // Must return "" here.
-  }
-
+  return (string) @file_get_contents($sess_file);
 }
 
 function write($id, $sess_data) 
 {
-  global $sess_save_path, $sess_session_name;
-
+  global $sess_save_path;
+  
   $sess_file = "$sess_save_path/sess_$id";
   if ($fp = @fopen($sess_file, "w")) {
-    return(fwrite($fp, $sess_data));
+    $return = fwrite($fp, $sess_data);
+    fclose($fp);
+    return $return;
   } else {
     return(false);
   }
@@ -109,18 +104,21 @@
 
 function destroy($id) 
 {
-  global $sess_save_path, $sess_session_name;
-       
+  global $sess_save_path;
+  
   $sess_file = "$sess_save_path/sess_$id";
   return(@unlink($sess_file));
 }
 
-/*********************************************
- * WARNING - You will need to implement some *
- * sort of garbage collection routine here.  *
- *********************************************/
 function gc($maxlifetime) 
 {
+  global $sess_save_path;
+  
+  foreach (glob("$sess_save_path/sess_*") as $filename) {
+    if (filemtime($filename) + $maxlifetime < time()) {
+      @unlink($filename);
+    }
+  }
   return true;
 }
 

Reply via email to