Annotation of embedaddon/php/ext/session/tests/save_handler.inc, revision 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>