·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> PHP函数库(other)

PHP函数库(other)

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
php函数库(other)session函数:
  • session_abort— Discard session array changes and finish session
session_abort()finishes session without saving data. Thus the original values in session data are kept.返回值:没有你返回值。
  • session_cache_expire— 返回当前缓存的到期时间

session_cache_expire()返回session.cache_expire的设定值。

请求开始的时候,缓存到期时间会被重置为 180,并且保存在session.cache_expire配置项中。 因此,针对每个请求,需要在session_start()函数调用之前 调用session_cache_expire()来设置缓存到期时间。参数:

new_cache_expire

如果给定new_cache_expire,就使用new_cache_expire的值设置当前缓存到期时间。

Note:仅在session.cache_limiter的设置值不是nocache的时候, 才可以设置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";?>
  • session_cache_limiter— 读取/设置缓存限制器
session_cache_limiter()返回当前缓存限制器的名称。参数: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
返回值:返回当前所用的缓存限制器名称。<?php/*设置缓存限制器为'private'*/session_cache_limiter('private');$cache_limiter=session_cache_limiter();echo"Thecachelimiterisnowsetto$cache_limiter<br/>";?>
  • session_commit— session_write_close 的别名
  • session_decode— 解码会话数据
session_decode()对$data参数中的已经序列化的会话数据进行解码, 并且使用解码后的数据填充 $_SESSION 超级全局变量。参数:data

编码后的数据

返回值:成功时返回TRUE, 或者在失败时返回FALSE
  • session_destroy— 销毁一个会话中的全部数据

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();?>
  • session_encode— 将当前会话数据编码为一个字符串
session_encode()返回一个序列化后的字符串,包含被编码的、储存于 $_SESSION 超全局变量中的当前会话数据。参数:返回值:返回当前会话编码后的内容。
  • session_get_cookie_params— 获取会话 cookie 参数
获取会话 cookie 的参数。返回值:返回一个包含当前会话 cookie 信息的数组:
  • "lifetime"- cookie 的生命周期,以秒为单位。
  • "path"- cookie 的访问路径。
  • "domain"- cookie 的域。
  • "secure"- 仅在使用安全连接时发送 cookie。
  • "httponly"- 只能通过 http 协议访问 cookie
  • session_id— 获取/设置当前会话 ID
session_id()可以用来获取/设置 当前会话 ID。参数:id

如果指定了id参数的值, 则使用指定值作为会话 ID。 必须在调用session_start()函数之前调用session_id()函数。 不同的会话管理器对于会话 ID 中可以使用的字符有不同的限制。 例如文件会话管理器仅允许会话 ID 中使用以下字符:a-z A-Z 0-9 , (逗号)和 - (减号)

Note:如果使用 cookie 方式传送会话 ID,并且指定了id参数, 在调用session_start()之后都会向客户端发送新的 cookie, 无论当前的会话 ID 和新指定的会话 ID 是否相同。

返回值:session_id()返回当前会话ID。 如果当前没有会话,则返回空字符串("")。
  • session_is_registered— 检查变量是否在会话中已经注册
检查变量是否已经在会话中注册。参数:name

变量名称。

返回值:session_is_registered()返回TRUE则表示name变量已经在当前会话中注册使用,否则返回FALSE
  • session_module_name— 获取/设置会话模块名称
session_module_name()获取或设置会话模块名称。参数:module

如果指定module参数,则使用 指定值作为会话模块。

返回值:返回当前所用的会话模块名称。
  • session_name— 读取/设置会话名称
session_name()函数返回当前会话名称。 如果指定name参数,session_name()函数会更新会话名称, 并返回原来的会话名称。参数:name

用在 cookie 或者 URL 中的会话名称, 例如:PHPSESSID。 只能使用字母和数字作为会话名称,建议尽可能的短一些, 并且是望文知意的名字(对于启用了 cookie 警告的用户来说,方便其判断是否要允许此 cookie)。 如果指定了name参数, 那么当前会话也会使用指定值作为名称。

会话名称至少需要一个字母,不能全部都使用数字, 否则,每次都会生成一个新的会话 ID。

返回值:返回当前会话名称。<?php/*设置会话名称为WebsiteID*/$previous_name=session_name("WebsiteID");echo"Theprevioussessionnamewas$previous_name<br/>";?>
  • session_regenerate_id— 使用新生成的会话 ID 更新现有会话 ID
session_regenerate_id()在不修改当前会话中数据的前提下使用新的 ID 替换原有会话 ID。参数: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);?>
  • session_register_shutdown— 关闭会话
将session_write_close()函数注册为关闭会话的函数。参数:此函数没有参数。返回值:没有返回值。
  • session_register— Register one or more global variables with the current session
<?php//USEOfsession_register()isdeprecated$barney="Abigpurpledinosaur.";session_register("barney");//Useof$_SESSIONispreferred,asofPHP4.1.0$_SESSION["zim"]="Aninvaderfromanotherplanet.";//Theoldwaywastouse$HTTP_SESSION_VARS$HTTP_SESSION_VARS["spongebob"]="He'sgotsquarepants.";?>
  • session_reset— Re-initialize session array with original values
session_reset()reinitializes a session with original values stored in session storage. This function requires an active session and discards changes in $_SESSION.没有返回值
  • session_save_path— 读取/设置当前会话的保存路径
session_save_path()返回当前会话的保存路径。参数:path

指定会话数据保存的路径。 必须在调用session_start()函数之前调用session_save_path()函数。

No