!! Note: before using this function, configure the php. ini file and session. save_hadler = user. Otherwise, session_set_save_handler () will not take effect.
In addition, according to my tests, if you want this session to be used across pages, you must add your custom function and session_set_save_handler to each session script file. Therefore, the best way is to make a separate file and include it in every session script.
The following example provides a basic session persistence method, similar to the default files method.
If you want to use a database, this is also easy to implement.
Example 1. session_set_save_handler () example
$ #@ 60 ;? Php
Function open ($ save_path, $ session_name ){
Global $ sess_save_path, $ sess_session_name;
$ Sess_save_path = $ save_path;
$ Sess_session_name = $ session_name;
Return (true );
}
Function close (){
Return (true );
}
Function read ($ id ){
Global $ sess_save_path, $ sess_session_name;
$ 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 ("");
}
}
Function write ($ id, $ sess_data ){
Global $ sess_save_path, $ sess_session_name;
$ Sess_file = "$ sess_save_path/sess _ $ id ";
If ($ fp = @ fopen ($ sess_file, "w ")){
Return (fwrite ($ fp, $ sess_data ));
} Else {
Return (false );
}
}
Function destroy ($ id ){
Global $ sess_save_path, $ sess_session_name;
$ Sess_file = "$ sess_save_path/sess _ $ id ";
Return (@ unlink ($ sess_file ));
}