PHP - fonction session_set_save_handler ()

Définition et utilisation

Les sessions ou la gestion de session sont un moyen de rendre les données disponibles sur différentes pages d'une application Web. lesession_set_save_handler() La fonction est utilisée pour définir des fonctions de stockage de session au niveau utilisateur à l'aide desquelles vous pouvez stocker et récupérer les données associées à la session en cours.

Syntaxe

session_cache_expire($sessionhandler [,$register_shutdown]);

Paramètres

Sr. Non Paramètre et description
1

sessionhandler (Mandatory)

Il s'agit d'un objet de la classe qui implémente les interfaces SessionHandlerInterface et SessionIdInterface.

2

register_shutdown (Optional)

Si vous passez une valeur pour ce paramètre, session_write_close () sera enregistrée en tant que fonction register_shutdown_function ().

Valeurs de retour

Cette fonction renvoie une valeur booléenne qui est TRUE en cas de succès ou FALSE en cas d'échec.

Version PHP

Cette fonction a été introduite pour la première fois dans la version 4 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple 1

L'exemple suivant montre l'utilisation du session_set_save_handler() fonction.

<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  	
         function open($save_path, $session_name){
            global $session_path;
            $session_path = $save_path;
            return(true);
         }
         function close() {
            return(true);
         }
         function read($id){
            global $session_path;  
            $sess_file = "$session_path/sess_$id";
            return (string) @file_get_contents($sess_file);
         }
         function write($id, $sess_data){
            global $session_path;
            $sess_file = "$session_path/sess_$id";
            if ($fp = @fopen($sess_file, "w")) {
               $return = fwrite($fp, $sess_data);
               fclose($fp);
               return $return;
            } else {
               return(false);
            }
         }
         function destroy($id){
            global $session_path;
            $sess_file = "$session_path/sess_$id";
            return(@unlink($sess_file));
         }
         function gc($maxlifetime){
            global $session_path;
            foreach (glob("$session_path/sess_*") as $filename) {
               if (filemtime($filename) + $maxlifetime < time()) {
                  @unlink($filename);
               }
            }
            return true;
         }
         $res = session_set_save_handler("open", "close", "read", "write", "destroy", "gc");
         if($res){
            print("Successful");
         }else{
            print("A problem occurred");
         }
         session_start();
      ?>
   </body>   
</html>

En exécutant le fichier html ci-dessus, le message suivant s'affiche.

Successful