欢迎光临
我们一直在努力

php session_destroy()和session_unset()区别

本文章简单的介绍一下关于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 
// Initialize the session. 
// If you are using session_name("something"), don't forget it now! 
session_start(); 
 
// Unset all of the session variables. 
$_SESSION = array(); 
 
// If it's desired to kill the session, also delete the session cookie. 
// Note: This will destroy the session, and not just the session data! 
if (ini_get("session.use_cookies")) { 
    $params = session_get_cookie_params(); 
    setcookie(session_name(), '', time() - 42000, 
        $params["path"], $params["domain"], 
        $params["secure"], $params["httponly"] 
    ); 
} 
 
// Finally, destroy the session. 
session_destroy(); 
?> 

赞(0) 打赏
未经允许不得转载:码农资源网 » php session_destroy()和session_unset()区别
分享到

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册