ГлавнаяОтзывы и пожеланияСтатьи
Функции по алфавиту:    a     b     c     d     e     f     g     h     i     j     k     l     m     n     o     p     q     r     s     t     u     v     w     x     y     z  

session_set_save_handler


(PHP 4)

session_set_save_handler - устанавливает пользовательские функции хранения сессии.

Описание

bool session_set_save_handler (string open, string close, string read, string write, string destroy, string gc)

session_set_save_handler() устанавливает пользовательские функции хранения сессии, которые используются для хранения и запрашивания данных, ассоциированных с сессией. Это чаще всего используется, когда метод хранения отличается от методов PHP-сессий. Например, при хранении данных сессии в локальной БД. Возвращает TRUE при успехе, FALSE при неудаче.

Примечание: вы обязаны установить в опции конфигурации session.save_handler значение user в вашем файле php.ini, для того чтобы session_set_save_handler() работала.

Примечание: обработчик "write" не выполняется после закрытия потока вывода. Таким образом, вывод отладочных операторов в обработчике "write" никогда не будет виден в браузере. Если необходим вывод отладки, можно записать его в файл.

В следующем примере показано хранение данных сессии в файле, аналогично обработчику по умолчанию PHP-сессий files. Этот пример можно легко расширить для покрытия хранения БД с использованием вашей любимой машины работы с БД, поддерживаемой в PHP.

Функция read должна всегда возвращать значение, чтобы обработчик сохранения всегда работал, как ожидается. Возвращает пустую строку, если нет данных для чтения. Return-значения из других обработчиков конвертируются в булево выражение. TRUE при успехе, FALSE при неудаче.

Пример 1. 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(""); // Здесь обязана возвращать "".
  }

}

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));
}

/*******************************************************************
 * ПРЕДУПРЕЖДЕНИЕ - Вам понадобится реализовать здесь какой-нибудь *
 * вариант утилиты уборки мусора. *
 *******************************************************************/
function gc ($maxlifetime) {
  return true;
}

session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");

session_start();

// продолжить нормальное использование сессий

?>



Другие функции на s:

sem_acquire
sem_release
serialize
sesam_affected_rows
sesam_commit
sesam_connect
sesam_diagnostic
sesam_execimm
sesam_fetch_array
sesam_fetch_result
sesam_num_fields
sesam_query
session_cache_expire
session_cache_limiter
session_decode
session_encode
session_get_cookie_params
session_id
session_is_registered
session_name
session_save_path
session_start
session_unregister
session_write_close
setcookie
settype
set_file_buffer
set_time_limit
shmop_open
shmop_read
shmop_size
shm_attach
shm_detach
shm_get_var
shm_remove_var
show_source
similar_text
sinh
sleep
snmprealwalk
snmpwalkoid
snmp_set_quick_print
socket_accept
socket_bind
socket_close
socket_connect
socket_create_listen
socket_create_pair
socket_getsockname
socket_iovec_add
socket_iovec_set
socket_last_error
socket_listen
socket_read
socket_readv
socket_select
socket_send
socket_sendmsg
socket_sendto
socket_set_option
socket_shutdown
socket_strerror
socket_writev
sort
soundex
split
spliti
sprintf
sql_regcase
sqrt
srand
sscanf
stat
strcspn
strftime
stripcslashes
strip_tags
stristr
strlen
strnatcasecmp
strnatcmp
strpos
strrpos
strspn
strstr
strtolower
strtotime
strtr
strval
str_repeat
substr
substr_replace
SWFAction
SWFBitmap->getHeight
SWFBitmap->getWidth
SWFbutton->addAction
SWFbutton->addShape
SWFbutton->setAction
SWFbutton->setOver
SWFbutton->setUp
swfbutton_keypress
SWFDisplayItem->addColor
SWFDisplayItem->move
SWFDisplayItem->moveTo
SWFDisplayItem->Rotate
SWFDisplayItem->rotateTo
SWFDisplayItem->scale
SWFDisplayItem->scaleTo
SWFDisplayItem->setDepth
SWFDisplayItem->setRatio
SWFDisplayItem->skewX
SWFDisplayItem->skewXTo
SWFDisplayItem->skewY
SWFFill->skewXTo
SWFFont
swffont->getwidth
SWFGradient->addEntry
SWFMorph
SWFMorph->getshape1
SWFMorph->getshape2
SWFMovie
SWFMovie->nextframe
SWFMovie->setbackground
SWFShape
SWFShape->drawLine
SWFShape->drawLineTo
SWFShape->movePenTo
SWFShape->setLine
SWFSprite
SWFSprite->nextframe
SWFSprite->setframes
SWFText->addString
SWFText->getWidth
SWFText->setFont
SWFTextField
SWFTextField->align
SWFTextField->setbounds
SWFTextField->setcolor
SWFTextField->setFont
SWFTextField->setHeight
SWFTextField->setindentation
SWFTextField->setLeftMargin
SWFTextField->setMargins
SWFTextField->setname
swf_actiongotoframe
swf_actionnextframe
swf_actionplay
swf_actionprevframe
swf_actionsettarget
swf_actiontogglequality
swf_actionwaitforframe
swf_addbuttonrecord
swf_addcolor
swf_definebitmap
swf_defineline
swf_definepoly
swf_definetext
swf_endbutton
swf_endsymbol
swf_fontslant
swf_getfontinfo
swf_labelframe
swf_modifyobject
swf_mulcolor
swf_nextid
swf_openfile
swf_ortho2
swf_perspective
swf_placeobject
swf_polarview
swf_popmatrix
swf_removeobject
swf_scale
swf_setfont
swf_setframe
swf_shapearc
swf_shapecurveto
swf_shapefillbitmaptile
swf_shapefilloff
swf_shapelineto
swf_shapemoveto
swf_startdoaction
swf_startshape
swf_startsymbol
swf_textwidth
swf_translate
swf_viewport
sybase_affected_rows
sybase_close
sybase_fetch_array
sybase_fetch_field
sybase_fetch_object
sybase_fetch_row
sybase_field_seek
sybase_min_error_severity
sybase_min_server_severity
sybase_num_fields
sybase_num_rows
sybase_query
symlink
syslog
system


EXPERTGS.ru описание функций php.