I. Na początek
II.Instalacja i konfiguracja
III. Opis języka
IV. Bezpieczeństwo
V. Możliwości
VI. Opis funkcji
VII. Zend API
VIII. PHP API: Interfejs rozszerzeń
X. Dodatki

Manual PHP

Zapraszam do korzystania z zamieszczonego przeze mnie manuala php. Mam nadzieję, że ta jego kopia przyda się zarówno profesjonalnym programistą, jak i początkującym twórcą skryptów PHP.

Autorzy

Mehdi Achour,
Friedhelm Betz,
Antony Dovgal,
Nuno Lopes,
Philip Olson,
Georg Richter,
Damien Seguy,
Jakub Vrana,
I kilka innych

Redakcja:

Gabor Hojtsy,
Marcin Dąbrowski, Michał Grzechowiak, Leszek Krupiński, Adam Major, Paweł Paprota, Michał Pena, Sławomir Pucia, Jarek Tabor, Tomasz Wójtowicz,

session_set_save_handler

(PHP 4, PHP 5)

session_set_save_handler --  Ustawia funkcje użytkownika do przechowywania sesji

Opis

bool 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: 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.

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

?>

Zobacz także opis dyrektywy konfiguracji session.save_handler.


print 'Przeprowadzki Dąbrowa Górnicza 1171501838' . "\n"; print 'hurtownia elektryczna 1171501776' . "\n"; print 'ubezpieczenia oc 1171501681' . "\n"; print 'pierścionki zaręczynowe 1171501741' . "\n"; print 'timberland 1171501870' . "\n";