<?php

DEFINE
("SESSION_FILE_PREFIX" ,"session_test_");
function 
open($save_path$session_name) {
    global 
$session_save_path$name;
    
$session_save_path $save_path;
    
$name $session_name;
    echo 
"Open [${session_save_path},${session_name}]\n";
    return 
true;
}

function 
close() {
    global 
$session_save_path$name;
    echo 
"Close [${session_save_path},${name}]\n";
    return 
true;
}

function 
read($id) {
    global 
$session_save_path$name$session_id;
    
$session_id $id;
    echo 
"Read [${session_save_path},${id}]\n";
    
$session_file "$session_save_path/".SESSION_FILE_PREFIX.$id;
    return (string) @
file_get_contents($session_file);
}

function 
write($id$session_data) {
    global 
$session_save_path$name$session_id;
    
$session_id $id;
    echo 
"Write [${session_save_path},${id},${session_data}]\n";
    
$session_file "$session_save_path/".SESSION_FILE_PREFIX.$id;
    if (
$fp fopen($session_file"w")) {
        
$return fwrite($fp$session_data);
        
fclose($fp);
        return 
$return;
    }
    return 
false;
}

function 
destroy($id) {
    global 
$session_save_path$name;
    echo 
"Destroy [${session_save_path},${id}]\n";
    
$session_file "$session_save_path/".SESSION_FILE_PREFIX.$id;
    return 
unlink($session_file);
}

function 
gc($maxlifetime) {
    global 
$session_save_path$name;
    
$directory opendir($session_save_path."/");
    
$length strlen(SESSION_FILE_PREFIX);
    while ((
$file readdir($directory)) !== FALSE) {
        
$qualified = ($session_save_path."/".$file); 
        if (
is_file($qualified) === TRUE) {
            if (
substr($file0$length) === SESSION_FILE_PREFIX) {
                
unlink($qualified);
            }
        }
    }
    
closedir($directory);
    return 
true;
}

?>