session_cache_expire()返回session.cache_expire的设定值。
请求开始的时候,缓存到期时间会被重置为 180,并且保存在session.cache_expire配置项中。 因此,针对每个请求,需要在session_start()函数调用之前 调用session_cache_expire()来设置缓存到期时间。参数:
new_cache_expire
如果给定new_cache_expire
,就使用new_cache_expire
的值设置当前缓存到期时间。
返回值:返回session.cache_expire的当前设置值, 以分钟为单位,默认值是 180 (分钟)。<?php/*设置缓存限制为“PRivate”*/session_cache_limiter('private');$cache_limiter=session_cache_limiter();/*设置缓存过期时间为30分钟*/session_cache_expire(30);$cache_expire=session_cache_expire();/*开始会话*/session_start();echo"Thecachelimiterisnowsetto$cache_limiter<br/>";echo"Thecachedsessionpagesexpireafter$cache_expireminutes";?>Note:仅在session.cache_limiter的设置值不是nocache的时候, 才可以设置
new_cache_expire
参数。
cache_limiter
如果指定了cache_limiter
参数, 将使用指定值作为缓存限制器的值。值 | 发送的响应头 |
---|---|
public | Expires:(根据 session.cache_expire 的设定计算得出)Cache-Control: public, max-age=(根据 session.cache_expire 的设定计算得出)Last-Modified:(会话最后保存时间) |
private_no_expire | Cache-Control: private, max-age=(根据 session.cache_expire 的设定计算得出), pre-check=(根据 session.cache_expire 的设定计算得出)Last-Modified: (会话最后保存时间) |
private | Expires: Thu, 19 Nov 1981 08:52:00 GMTCache-Control: private, max-age=(根据 session.cache_expire 的设定计算得出), pre-check=(根据 session.cache_expire 的设定计算得出)Last-Modified: (会话最后保存时间) |
nocache | Expires: Thu, 19 Nov 1981 08:52:00 GMTCache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0Pragma: no-cache |
$data
参数中的已经序列化的会话数据进行解码, 并且使用解码后的数据填充 $_SESSION 超级全局变量。参数:data
编码后的数据
返回值:成功时返回TRUE
, 或者在失败时返回FALSE
。session_destroy()销毁当前会话中的全部数据, 但是不会重置当前会话所关联的全局变量, 也不会重置会话 cookie。 如果需要再次使用会话变量, 必须重新调用session_start()函数。
为了彻底销毁会话,比如在用户退出登录的时候,必须同时重置会话 ID。 如果是通过 cookie 方式传送会话 ID 的,那么同时也需要 调用setcookie()函数来 删除客户端的会话 cookie。
返回值:成功时返回TRUE
, 或者在失败时返回FALSE
。<?php//初始化会话。//如果要使用会话,别忘了现在就调用:session_start();//重置会话中的所有变量$_SESSION=array();//如果要清理的更彻底,那么同时删除会话cookie//注意:这样不但销毁了会话中的数据,还同时销毁了会话本身if(ini_get("session.use_cookies")){$params=session_get_cookie_params();setcookie(session_name(),'',time()-42000,$params["path"],$params["domain"],$params["secure"],$params["httponly"]);}//最后,销毁会话session_destroy();?>id
如果指定了id
参数的值, 则使用指定值作为会话 ID。 必须在调用session_start()函数之前调用session_id()函数。 不同的会话管理器对于会话 ID 中可以使用的字符有不同的限制。 例如文件会话管理器仅允许会话 ID 中使用以下字符:a-z A-Z 0-9 , (逗号)和 - (减号)
返回值:session_id()返回当前会话ID。 如果当前没有会话,则返回空字符串("")。Note:如果使用 cookie 方式传送会话 ID,并且指定了
id
参数, 在调用session_start()之后都会向客户端发送新的 cookie, 无论当前的会话 ID 和新指定的会话 ID 是否相同。
name
变量名称。
返回值:session_is_registered()返回TRUE
则表示name
变量已经在当前会话中注册使用,否则返回FALSE
。module
如果指定module
参数,则使用 指定值作为会话模块。
name
参数,session_name()函数会更新会话名称, 并返回原来的会话名称。参数:name
用在 cookie 或者 URL 中的会话名称, 例如:PHPSESSID。 只能使用字母和数字作为会话名称,建议尽可能的短一些, 并且是望文知意的名字(对于启用了 cookie 警告的用户来说,方便其判断是否要允许此 cookie)。 如果指定了name
参数, 那么当前会话也会使用指定值作为名称。
会话名称至少需要一个字母,不能全部都使用数字, 否则,每次都会生成一个新的会话 ID。
返回值:返回当前会话名称。<?php/*设置会话名称为WebsiteID*/$previous_name=session_name("WebsiteID");echo"Theprevioussessionnamewas$previous_name<br/>";?>delete_old_session
是否删除原 ID 所关联的会话存储文件。
返回值:成功时返回TRUE
, 或者在失败时返回FALSE
。<?phpsession_start();$old_sessionid=session_id();session_regenerate_id();$new_sessionid=session_id();echo"OldSession:$old_sessionid<br/>";echo"NewSession:$new_sessionid<br/>";print_r($_SESSION);?>path
指定会话数据保存的路径。 必须在调用session_start()函数之前调用session_save_path()函数。
No