mirror of
https://github.com/php/doc-it.git
synced 2026-03-24 07:32:12 +01:00
git-svn-id: https://svn.php.net/repository/phpdoc/it/trunk@327390 c90b9560-bf6c-de11-be94-00142212c4b1
150 lines
4.8 KiB
XML
150 lines
4.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- splitted from ./it/functions/session.xml, last change in rev 1.10 -->
|
|
<!-- last change to 'session-set-save-handler' in en/ tree in rev 1.23 -->
|
|
<!-- EN-Revision: n/a Maintainer: penzo Status: ready -->
|
|
<!-- OLD-Revision: 1.83/EN.1.23 -->
|
|
<refentry xml:id="function.session-set-save-handler" xmlns="http://docbook.org/ns/docbook">
|
|
<refnamediv>
|
|
<refname>session_set_save_handler</refname>
|
|
<refpurpose>
|
|
Imposta le funzioni di archiviazione sessioni a livello utente
|
|
</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Descrizione</title>
|
|
<methodsynopsis>
|
|
<type>void</type><methodname>session_set_save_handler</methodname>
|
|
<methodparam><type>string</type><parameter>open</parameter></methodparam><methodparam><type>string</type><parameter>close</parameter></methodparam><methodparam><type>string</type><parameter>read</parameter></methodparam><methodparam><type>string</type><parameter>write</parameter></methodparam><methodparam><type>string</type><parameter>destroy</parameter></methodparam><methodparam><type>string</type><parameter>gc</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
<function>session_set_save_handler</function> imposta le funzioni di
|
|
archiviazione sessioni che sono usate per archiviare e riutilizzare
|
|
i dati associati a una sessione. Ciò non è molto utile
|
|
quando un altro metodo di archiviazione è preferito a quelli forniti
|
|
dalle sessioni PHP. i.e. L'archiviazione dei dati di sessione in un database locale.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
Dovete impostare l'opzione di configurazione
|
|
<parameter>session.save_handler</parameter> per
|
|
<parameter>user</parameter> nel vostro file php.ini perché
|
|
<function>session_set_save_handler</function> abbia effetto.
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
L'handler "write" non viene eseguito fino a che l'output stream
|
|
non viene chiuso. In questo modo, l'output di espressioni di debugging
|
|
nell'hanlder "write" non si vedrà mai nel browser. Se l'output di debugging
|
|
è necessario, è consigliabile che l'output del debug venga scritto
|
|
in un file.
|
|
</para>
|
|
</note>
|
|
<para>
|
|
Il seguente esempio fornisce l'archiviazione di sessione
|
|
basata su file simile al solito gestore di salvataggio di sessioni PHP
|
|
<parameter>files</parameter>. Questo esempio potrebbe essere facilmente
|
|
esteso per coprire l'archiviazione in database usando il vostro sistema
|
|
database favorito con supporto PHP.
|
|
</para>
|
|
<para>
|
|
La funzione di lettura deve restituire sempre un valore stringa
|
|
perché il save handler funzioni a dovere. Restituisce una stringa vuota
|
|
se non ci sono dati da leggere. I valori restituiti da altri handlers sono convertiti in
|
|
espressioni booleane. TRUE per successo, FALSE in caso di fallimento.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>
|
|
<function>session_set_save_handler</function> esempio
|
|
</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?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(""); // Deve restituire "" qui.
|
|
}
|
|
|
|
}
|
|
|
|
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));
|
|
}
|
|
|
|
/*********************************************
|
|
* ATTENZIONE - Qui avete bisogno di implementare qualche *
|
|
* sorta di routine per il cestinaggio. *
|
|
*********************************************/
|
|
function gc ($maxlifetime) {
|
|
return true;
|
|
}
|
|
|
|
session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");
|
|
|
|
session_start();
|
|
|
|
// proceed to use sessions normally
|
|
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|