★ wanayoo — archive 1999 http://fr.php.net/manual/function.session-set-save-handler.phpNouvelle recherche | Portail wanayoo

PHP Home Page

Manual Table of Contents
Up to Sessions
Quick Reference
English version of this pageGerman version of this pageJapanese version of this page
Italian version of this page is not availableFrench version of this pageHungarian version of this page
Spanish version of this page is not availableDutch version of this pageBrazilian Portuguese version of this page
Korean version of this pageCzech version of this page
Sessions
* session_start
* session_destroy
* session_name
* session_module_name
* session_save_path
* session_id
* session_register
* session_unregister
* session_unset
* session_is_registered
* session_get_cookie_params
* session_set_cookie_params
* session_decode
* session_encode
* session_set_save_handler
* session_cache_limiter

  Thanks to:
 Chek.com
 easyDNS
 VA Linux Systems

  Related sites:
Apache
MySQL
PostgreSQL
Zend Tech.

  Community:
LinuxFund.org
OSDN
Manual: session_set_save_handler
View the source code for this pageSearch the site



Previous page
 session_encode
 Updated
Mon, 08 Jan 2001
session_cache_limiter 
Next page


session_set_save_handler

(PHP 4 >= 4.0b4)

session_set_save_handler --  Sets user-level session storage functions

Description

void session_set_save_handler (string open, string close, string read, string write, string destroy, string gc)

session_set_save_handler() sets the user-level session storage functions which are used for storing and retrieving data associated with a session. This is most useful when a storage method other than those supplied by PHP sessions is preferred. i.e. Storing the session data in a local database.

Note: You must set the configuration option session.save_handler to user in your php.ini file for session_set_save_handler() to take effect.

The following example provides file based session storage similar to the PHP sessions default save handler files. This example could easily be extended to cover database storage using your favorite PHP supported database engine.

Example 1. session_set_save_handler() example


<?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));
}

/*********************************************
 * WARNING - You will need to implement some *
 * sort of garbage collection routine here.  *
 *********************************************/
function gc ($maxlifetime) {
  return true;
}

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

session_start();

// proceed to use sessions normally

?>
      


 About Notes


Previous page
 session_encode
 Updated
Mon, 08 Jan 2001
session_cache_limiter 
Next page





Who's responsible for this?
Top of this page

Site
Hosting:



Located in
France
Elements of this website are subject to copyright.
Questions about installing or using PHP should be directed to one of the mailing lists.
Only questions about the website should be directed to webmaster@php.net.