session_set_save_handlerPodręcznik PHPPoprzedniNastępnysession_set_save_handler (PHP 4 )session_set_save_handler --
Ustawia funkcje użytkownika do przechowywania sesji
Opisbool 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.
Zwraca TRUE w przypadku sukcesu, FALSE w
przypadku porażki.
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.
Notatka:
Procedura obsługi zapisywania nei jest wywoływana jeśli sesja nie
zawiera danych. Dotyczty to także sytuacji, kiedy zarejestrowane zmienne
są puste. Różni się to od domyślnej obsługi sesji opartej na plikach,
która tworzy także puste pliki sesji.
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.
Funkcja czytająca zawsze musi zwracać ciąg aby procedura obsługi działała
zgodnie z przewidywaniami. Zwróć pusty ciąg jeśli nie ma żadnych danych
do odczytania. Wartości zwracane przez inne procedury obsługi są
konwertowane na wyrażenia logiczne. TRUE dla sukcesu, FALSE dla
niepowodzenia.
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(""); // Zawsze musi zwracać ""
}
}
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 (gc) *
*********************************************/
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_set_cookie_paramsPoczątek rozdziałusession_start
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