php专区

 首页 > php专区 > 正则表达式 > php中session_unset与session_destroy的用法与区别 - php会

php中session_unset与session_destroy的用法与区别 - php会

分享到:
【字体:
导读:
          本文章来介绍了关于session_unset与session_destroy函数他们之间的区别以及在删除变量时的一些不同的地方法 session_unset()释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及...

php中session_unset与session_destroy的用法与区别

本文章来介绍了关于session_unset与session_destroy函数他们之间的区别以及在删除变量时的一些不同的地方法.

session_unset()

释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id,代码如下:

  1.     session_start(); 
  2.     session_unset(); 
  3.     session_destroy(); 
  4.     session_write_close(); 
  5.     setcookie(session_name(),'',0,'/'); 
  6.     session_regenerate_id(true); 
  7. ?> 

session_destroy()

删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留,因此,释放用户的session所有资源,需要顺序执行如下代码:

  1. $_SESSION['user'] = ‘user1′; 
  2. session_unset(); 
  3. session_destroy(); 
  4. ?> 

删除session方法:

1、unset ($_SESSION['xxx']) 删除单个session,unset($_SESSION['xxx']) 用来unregister一个已注册的session变量。其作用和session_unregister()相同。session_unregister()在PHP5中不再使用,可将之打入冷宫。

unset($_SESSION) 此函数千万不可使用,它会将全局变量$_SESSION销毁,而且还没有可行的办法将其恢复。用户也不再可以注册$_session变量。

2、$_SESSION=array() 删除多个session

3、session_destroy()结束当前的会话,并清空会话中的所有资源,该函数不会unset(释放)和当前session相关的全局变量(globalvariables),也不会删除客户端的session cookie.PHP默认的session是基于cookie的,如果要删除cookie的话,必须借助setcookie()函数.

区别总结:

session_destroy是注销所有的session变量,并且结束session会话; 

session_unset()并不注销session变量,但把所有的session变量的值清空.<

分享到:
PHP Session的生存周期与用法详解 - php...
PHP Session的生存周期与用法详解 session 是一种服务器端用于存储有关用户会话信息的机制,服务器使用一种类似于散列表的结构,也可能就是使用散列表,来保存信息. 当程序需要为某个客户端的请求创建一个 session 的时候,服务器首先会检查这个客户端是否已经包含了一个 session 标识,这个我们...
php中session用法详细介绍 - php会话
php中session用法详细介绍 在您把用户信息存储到 PHP session 中之前,首先必须启动会话,session_start() 函数必须位于 标签之前,代码如下:           上面的代码会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个 UID. 存储 Session ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……