session_set_save_handlerPodręcznik PHPPoprzedniNastępnysession_set_save_handler (PHP 4 >= 4.0.0)session_set_save_handler --
Ustawia funkcje użytkownika do przechowywania sesji
Opisvoid
session_set_save_handler
(string
otwórz, string
zamknij, string
czytaj, string
zapisz, string
niszcz, string
gc)
session_set_save_handler() ustawia funkcje użytkownika
do obsługi przechowywania sesji, które używane sa do zapisywania i
odtwarzania danych skojarzonych z sesją. Jest to bardzo przydatne jeśli
preferowany jest sposób przechowywania sesji inny niż ten, który jest
dostarczany z PHP, np. przechowywanie danych sesji w lokalnej bazie
danych.
Notatka:
W swoim pliku php.ini musisz ustawić opcję konfiguracji
session.save_handler na
user aby
session_set_save_handler() zadziałało.
Notatka:
Procedura obsługi "zapisz" nie będzie wywołana dopóki strumień wyjściowy
jest otwarty. W związku z tym, wyjście instrukcji debugowania zawartych
w procedurze "zapisz" nigdy nie będzie widoczne w oknie przeglądarki.
Jeśli konieczne jest wyjście debugowania, sugerowane jest zapisanie tego
wyjścia do pliku.
Poniższy przykład opisuje metodę przechowywania danych sesyjnych w
plikach, podobną do tej obsługiwanej wewnętrznie przez PHP. Przykład ten
może być łatwo rozszerzony aby móc użyć go z twoją ulubioną bazą danych
obsługiwaną przez PHP.
Przykład 1.
Przykład session_set_save_handler()
<?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));
}
/*********************************************
* UWAGA: Musisz sam zaimplementować obsługę *
* zbierania śmieci (gb) *
*********************************************/
function gc ($maxlifetime) {
return true;
}
session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");
session_start();
// dalej normalnie używaj sesji
?>
PoprzedniSpis treściNastępnysession_encodePoczątek rozdziałusession_cache_limiter
Wyszukiwarka
Podobne podstrony:
function session set save handlerfunction xslt set scheme handlerfunction session set cookie paramsfunction xml set element handlerfunction xml set default handlerfunction xslt set error handlerfunction xslt set sax handlerfunction xslt set scheme handlerfunction xml set element handlerfunction session set cookie paramsfunction xml set default handlerfunction xslt set sax handlerswięcej podobnych podstron