session_set_save_handler

(PHP 4, PHP 5)

session_set_save_handler ? Configure les fonctions de stockage de sessions

Description

bool session_set_save_handler ( callback open, callback close, callback read, callback write, callback destroy, callback gc )

session_set_save_handler() configure les fonctions de stockage de sessions, et permet de choisir des fonctions utilisateurs pour sauver et relire toutes les sessions. Cette fonction est très pratique lorsqu'il faut sauver les données de sessions en utilisant une autre technique que le système par fichier fourni par défaut : notamment, stockage en base de données ou dans des démons tels SRM?. Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Note: Le gestionnaire d'écriture n'est pas exécuté tant que le flot de sortie est ouvert. Par conséquent, l'affichage de messages de débogage durant le gestionnaire d'écriture ne sera donc jamais visible depuis le navigateur. Si vous avez besoin de débogage, nous vous suggérons d'écrire vos messages dans un fichier.

L'exemple suivant fournit un exemple de stockage des sessions semblable au système par défaut (par fichiers). Cet exemple peut facilement être adapté pour réaliser des sauvegardes en base de données, avec votre serveur préféré.

La fonction de lecture doit toujours retourner une chaîne, pour que le gestionnaire fonctionne comme prévu. Vous devez retourner une chaîne vide s'il n'y a pas de données à lire. Les valeurs retournées par les autres gestionnaires sont converties en booléen avant d'être retournées au script. TRUE pour la réussite, FALSE pour l'échec.

AVERTISSEMENT
Les gestionnaires d'écriture et de fermeture sont appelés après la destruction des objets depuis PHP 5.0.5. Ces destructeurs peuvent utiliser les sessions mais le gestionnaire de session ne peut pas utiliser les objets. Dans les versions antérieures, ils étaient appelés dans l'ordre inverse. Il est possible d'appeler session_write_close() depuis le destructeur pour résoudre ce problème.

Exemple 2296.  Exemple avec session_set_save_handler()

<?php
function open($save_path, $session_name)
{
   global
$sess_save_path;

  
$sess_save_path = $save_path;
   return(
true);
}

function
close()
{
   return(
true);
}

function
read($id)
{
   global
$sess_save_path;

  
$sess_file = "$sess_save_path/sess_$id";
   return (string) @
file_get_contents($sess_file);
}

function
write($id, $sess_data)
{
   global
$sess_save_path;

  
$sess_file = "$sess_save_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
$sess_save_path;

  
$sess_file = "$sess_save_path/sess_$id";
   return(@
unlink($sess_file));
}

function
gc($maxlifetime)
{
   global
$sess_save_path;

   foreach (
glob("$sess_save_path/sess_*") as $filename) {
       if (
filemtime($filename) + $maxlifetime < time()) {
           @
unlink($filename);
       }
   }
return
true;
}

session_set_save_handler("open", "close", "read", "write", "destroy", "gc");

session_start();

// Utilisez vos sessions comme d'habitude
?>

Voir aussi la directive de configuration session.save_handler.



Rechercher une fonction PHP

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

5 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Références

  1. Consulter le document html Langue du document: fr Manuel PHP : http://be2.php.net, session_set_save_handler

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-10422
Document créé le 07/02/07 21:04, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http://www.gaudry.be/php-rf-function.session-set-save-handler.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,32 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Il n'est pauvreté que d'ignorance.

Le Talmud
 
l'infobrol
Nous sommes le Dimanche 03 Juin 2012, 06:56, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)