52680.fb2
session_unregister
Отменяет регистрацию переменной.
Синтаксис:
bool session_unregister(string $name)
Эта функция отменяет регистрацию для переменной с именем $name для текущей сессии. Или иначе, при завершении сценария все будет выглядеть так, словно переменная с именем $name и небыла никогда зарегистрирована.
Возвращает true, если все прошло успешно, и false - в противном случае.
Отметим, что после вызова функции session_unregister() глобальная переменная, которая была "аннулирована", не уничтожается, а сохраняет свое значение.
session_unset
Отменяет регистрацию и уничтожает глобальные переменные.
Синтаксис:
void session_unset()
Эта функция, в отличии от session_unregister(), не только отменяет регистрацию переменных (всех переменных сессии, а не только какой-то одной), но и уничтожает глобальные переменные, которые были зарегестрированы в сессии.
session_save_path
Имя каталога, в котором будут храниться файлы с данными из сессий.
Синтаксис:
string session_save_path([string $path])
Эта функция возвращает имя каталога, в котором будут помещаться файлы - временные хранилища данных сессии. В случае, если указан параметр, активное имя каталога будет переустановлено на $path. При этом функция вернет предыдущий каталог.
handler_open
Этот обработчик должен взять на себя всю работу по открытию базы данных для группы сессий с именем, которое было передано ей в параметрах.
Синтаксис:
bool handler_open(string $save_path, string $session_name)
Функция вызывается, когда вызывается session_start(). Обработчик должен взять на себя всю работу, связанную с открытием базы данных для группы сессий с именем $session_name. В параметре $save_path передается то, что было указано при вызове session_save_path() или же путь к файлам-хранилищам данных сессий по умолчанию.
handler_close
Этот обработчик вызывается, когда данные сессии записаны во временное хранилище и его нужно закрыть.
Синтаксис:
bool handler_close()
handler_read
Чтение данных сессии.
Синтаксис:
string handler_read(string $sid)
Этот обработчик вызывают, когда нужно прочитать данные сессии с идентификатором $sid из временного хранилища.
Возвращаемые данные представлены в следующем виде:
имя1=значение1;имя2=значение2;имя3=значение3;...
имяN задает имя очередной переменной, зарегистрированной в сессии, а занчениеN - результат вызова функции Serialize() для значения этой переменной.
Например, наша запись может иметь следующий вид:
foo|i:1;count|i:10;
Она говорит о том, что из временного хранилища были прочитаны две целые переменные, первая из которых равна 1, а вторая - 10.
handler_write
Запись данных сессии.
Синтаксис :string handler_write(string $sid, string $data)
Этот обработчик предназначен для записи данных сессии с идентификатором $sid во временное хранилище - например, открытое ранее обработчиком handler_open(). Параметр $data задается в точно таком же формате. Фактически, чаще всего действие этой функции сводится к записи в базу данных строки $data без каких-либо ее изменений.
handler_gc
Очищает временное хранилище данных через определенный промежуток времени.
Синтаксис:
bool handler_gc(int $maxlifetime)
Этот обработчик вызывается каждый раз при завершении работы сценария. Если пользователь окончательно покинул сервер, значит, данные сессии во временном хранилище можно уничтожить. Этим и должна заниматься функция handler_gc(). Ей передается в параметрах то время (в секундах), по прошествии которого PHP принимает решение о необходимости удалить все ненужные данные.
session_set_save_handler
Регистрация обработчиков.
При описании обработчиков мы указывали их имена с префиксом handler. На самом деле, это совсем не является обязательным. Даже наоборот - вы можете давать такие имена своим обработчикам, какие только захотите.