PHP - funzione session_set_save_handler ()
Definizione e utilizzo
Le sessioni o la gestione delle sessioni sono un modo per rendere i dati disponibili su varie pagine di un'applicazione web. Ilsession_set_save_handler() viene utilizzata per impostare le funzioni di memorizzazione della sessione a livello di utente mediante le quali è possibile memorizzare e recuperare i dati associati alla sessione corrente.
Sintassi
session_cache_expire($sessionhandler [,$register_shutdown]);
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | sessionhandler (Mandatory) Questo è un oggetto della classe che implementa le interfacce SessionHandlerInterface e SessionIdInterface. |
2 | register_shutdown (Optional) Se si passa un valore per questo parametro, la session_write_close () verrà registrata come funzione register_shutdown_function (). |
Valori restituiti
Questa funzione restituisce un valore booleano che è TRUE in caso di successo o FALSE in caso di fallimento.
Versione PHP
Questa funzione è stata introdotta per la prima volta nella versione 4 di PHP e funziona in tutte le versioni successive.
Esempio 1
L'esempio seguente mostra l'utilizzo di session_set_save_handler() funzione.
<html>
<head>
<title>Setting up a PHP session</title>
</head>
<body>
<?php
function open($save_path, $session_name){
global $session_path;
$session_path = $save_path;
return(true);
}
function close() {
return(true);
}
function read($id){
global $session_path;
$sess_file = "$session_path/sess_$id";
return (string) @file_get_contents($sess_file);
}
function write($id, $sess_data){
global $session_path;
$sess_file = "$session_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 $session_path;
$sess_file = "$session_path/sess_$id";
return(@unlink($sess_file));
}
function gc($maxlifetime){
global $session_path;
foreach (glob("$session_path/sess_*") as $filename) {
if (filemtime($filename) + $maxlifetime < time()) {
@unlink($filename);
}
}
return true;
}
$res = session_set_save_handler("open", "close", "read", "write", "destroy", "gc");
if($res){
print("Successful");
}else{
print("A problem occurred");
}
session_start();
?>
</body>
</html>
Quando si esegue il file html sopra, verrà visualizzato il messaggio seguente.
Successful