php cookie、session

 

session_set_save_handler — 设置用户自定义会话存储函数

session_save_path — 读取/设置当前会话的保存路径

 

session_id — 获取/设置当前会话 ID

session_create_id — Create new session id

session_regenerate_id — 使用新生成的会话 ID 更新现有会话 ID

 

session_status — 返回当前会话状态

session_start — 启动新会话或者重用现有会话

session_name — 读取/设置会话名称

session_register_shutdown — 关闭会话

 

session_unregister — Unregister a global variable from the current session

session_unset — 释放所有的会话变量

session_reset — Re-initialize session array with original values

session_destroy — 销毁一个会话中的全部数据

 

session_set_cookie_params — 设置会话 cookie 参数

session_get_cookie_params — 获取会话 cookie 参数

 

其他

session_decode — 解码会话数据

session_encode — 将当前会话数据编码为一个字符串

session_cache_expire — 返回当前缓存的到期时间

session_cache_limiter — 读取/设置缓存限制器

session_write_close — Write session data and end session

session_commit — session_write_close 的别名

session_module_name — 获取/设置会话模块名称

session_register — Register one or more global variables with the current session

session_abort — Discard session array changes and finish session

session_gc — Perform session data garbage collection

 

 

setcookie() $_COOKIE

 

每个域名最多设置约50cookie,每个cookie不超过4KB,不同浏览器会有区别。

 

浏览器发回cookie时,只发送值,不发送到期时间、域等信息

 

存数组:

setcookie(‘a[u]‘, ‘123‘);

setcookie(‘a[v]‘, ‘456‘);

echo $_COOKIE[‘a‘][‘u‘];

echo $_COOKIE[‘a‘][‘v‘];

 

删除

setcookie(‘a‘);    //关闭浏览器时删除

setcookie(‘a‘‘‘, time()-3600);    //减的时间太短,客户机时间

和服务器不一致,可能无效

 

 

session

session_start()  创建或重用一个会话,创建会话时会生成session_id

存入cookie,所以调用之前不能有任何输出。

执行后会初始化$_SESSION数组及其他相关变量

 

session_start()之后才能使用$_SESSION

$_SESSION[‘a‘] = 1

 

删除session

unset( $_SESSION[‘a‘] )   删除$_SESSION的一个元素

session文件里的一条内容

$_SESSION = [] 清空$_SESSION数组和session文件的内容

 

//删除cookie里的session id,第4个参数要和php.ini里一致

if( isset($_COOKIE[session_name()]) ){

setcookie(session_name(), ‘‘, time()-3600, ‘/‘);

}

session_destroy() 删除session文件,

不会影响$_SESSION数组和cookie里的session id

 

//模拟向cookie中发送session id的过程:

setCookie( session_name(), session_id(), 0, ‘/‘ );

session_name()默认为‘PHPSESSID‘,由php.inisession.name指定,

传递参数可改变当前session的名称

session_id()  传递参数可改变当前session id

第三个参数0,由php.inisession.cookie_lifetime指定,有效期至浏览器关闭

第四个参数/,由php.inisession.cookie_path指定

 

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

自定义session处理,参数为6个回调函数

 

php cookie、session

上一篇:jquery第三方的弹出层组件:layer


下一篇:application cache