本文章简单的介绍一下关于session_destroy(),session_unset()区别说明,有需要的朋友可以参考一下。
session_unset()
PHP代码如下:
- <?php
-
- function session_clean1($logout=false)
- {
- $v=array();
- foreach($_SESSION as $x=>$y)
- if($x!="redirector"&&($x!="user"||$logout))
- $v[]=$x;
-
- foreach($v as $x)
- unset($_SESSION[$x]);
- return;
- }
-
- function session_clean2($logout=false)
- {
- foreach($_SESSION as $x=>$y)
- if($x!="redirector"&&($x!="user"||$logout))
- unset($_SESSION[$x]);
- return;
- }
-
- function session_clean3($logout=false)
- {
- $s=($logout||!isset($_SESSION["user"]))?array():
- array("user"=>$_SESSION["user"]);
- if(isset($_SESSION["redirector"]))
- $s["redirector"]=$_SESSION["redirector"];
- $_SESSION=$s;
- }
-
- ?>
释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id
session_destroy()
删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留,因此,释放用户的session所有资源,需要顺序执行如下代码:
PHP代码如下:
- <?php
-
-
- session_start();
-
-
- $_SESSION = array();
-
-
-
- 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();
- ?>