Annotation of embedaddon/php/ext/session/tests/save_handler.inc, revision 1.1.1.1

1.1       misho       1: <?php
                      2: 
                      3: DEFINE("SESSION_FILE_PREFIX" ,"session_test_");
                      4: function open($save_path, $session_name) {
                      5:     global $session_save_path, $name;
                      6:     $session_save_path = $save_path;
                      7:     $name = $session_name;
                      8:     echo "Open [${session_save_path},${session_name}]\n";
                      9:     return true;
                     10: }
                     11: 
                     12: function close() {
                     13:     global $session_save_path, $name;
                     14:     echo "Close [${session_save_path},${name}]\n";
                     15:     return true;
                     16: }
                     17: 
                     18: function read($id) {
                     19:     global $session_save_path, $name, $session_id;
                     20:     $session_id = $id;
                     21:     echo "Read [${session_save_path},${id}]\n";
                     22:     $session_file = "$session_save_path/".SESSION_FILE_PREFIX.$id;
                     23:     return (string) @file_get_contents($session_file);
                     24: }
                     25: 
                     26: function write($id, $session_data) {
                     27:     global $session_save_path, $name, $session_id;
                     28:     $session_id = $id;
                     29:     echo "Write [${session_save_path},${id},${session_data}]\n";
                     30:     $session_file = "$session_save_path/".SESSION_FILE_PREFIX.$id;
                     31:     if ($fp = fopen($session_file, "w")) {
                     32:         $return = fwrite($fp, $session_data);
                     33:         fclose($fp);
                     34:         return $return;
                     35:     }
                     36:     return false;
                     37: }
                     38: 
                     39: function destroy($id) {
                     40:     global $session_save_path, $name;
                     41:     echo "Destroy [${session_save_path},${id}]\n";
                     42:     $session_file = "$session_save_path/".SESSION_FILE_PREFIX.$id;
                     43:     return unlink($session_file);
                     44: }
                     45: 
                     46: function gc($maxlifetime) {
                     47:     global $session_save_path, $name;
                     48:     $directory = opendir($session_save_path."/");
                     49:     $length = strlen(SESSION_FILE_PREFIX);
                     50:     while (($file = readdir($directory)) !== FALSE) {
                     51:         $qualified = ($session_save_path."/".$file); 
                     52:         if (is_file($qualified) === TRUE) {
                     53:             if (substr($file, 0, $length) === SESSION_FILE_PREFIX) {
                     54:                 unlink($qualified);
                     55:             }
                     56:         }
                     57:     }
                     58:     closedir($directory);
                     59:     return true;
                     60: }
                     61: 
                     62: ?>
                     63: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>