编程语言


php中删除、清空session的方式总结

网络编程 php中删除、清空session的方式总结 06-21

session删除清空是很讲究了如果我们定义好可以清除指定变量否则不小心会把所有session都清除掉了,下面我们来看一些总结。

第一种方式:unset($_SESSION['xxx']) 删除单个session,unset($_SESSION['xxx']) 用来unregister一个已注册的session变量。

其作用和session_unregister()相同。

session_unregister()在PHP5中已经废弃。

php 官方删除session方式

<?php
     // 初始化session.
     session_start();
     /*** 删除所有的session变量..也可用unset($_SESSION[xxx])逐个删除。****/
     $_SESSION = array();
     /***删除sessin id.由于session默认是基于cookie的,所以使用setcookie删除包含session id的cookie.***/
     if (isset($_COOKIE[session_name()])) {
        setcookie(session_name(), '', time()-42000, '/');
     }
     // 最后彻底销毁session.
     session_destroy();
?>

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

第二种方式:session_unset() 或者 $_SESSION=array() 删除多个session

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

小结:

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

如果希望删除一些session数据,则可以使用unset()函数或session_destroy()函数。unset()函数的作用是释放指定的session变量,调用格式如下:

<?php
unset($_SESSION['jugelizi']);
?>

session_destroy()函数的作用是将session全部删除,调用格式如下:

<?PHP session_destroy(); ?>

提示:session_destroy()会重新设置session,你会丢失所有已保存的session数据。

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

以上内容就是本文的全部叙述了,希望大家有所帮助。

解决PHP里大量数据循环时内存耗尽的方法
最近在开发一个PHP程序的时候遇到如下一问题:PHPFatalerror:Allowedmemorysizeof268435456bytesexhausted错误信息显示允许的最大内存已经耗尽。遇到这样的错误起初

ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法 原创
本文实例讲述了ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法。分享给大家供大家参考。具体如下:在ThinkPHP的config.php中设置:'SHOW_RUN_TIME'=true;

PHP+Mysql+jQuery文件下载次数统计实例讲解
项目中我们需要统计文件的下载次数,用户每下载一次文件,相应的下载次数加1,类似的应用在很多下载站中用到。本文结合实例使用PHP+Mysql+jQuery,实


编辑:编程语言

标签:变量,函数,下载次数,方式,清空