注销变量
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_unset() 删除所有session变量
销毁会话
session_destroy()结束当前的会话,并清空会话中的所有资源。该函数不会unset(释放)和当前session相关的全局变量,也不会删除客户端的session cookie。
返回值:布尔值。
功能说明:这个函数结束当前的session,此函数
没有参数,且返回值均为true,
注:PHP默认的session是基于cookie的,如果要删除cookie的话,必须借助setcookie()函数。
删除session的案例
<?php // 初始化session.session_start(); /* 删除所有的session变量..也可用 unset($_SESSION[‘xxx’])逐个删除。*/$_SESSION = array();//或session_unset();/*删除sessinid.由于session默认是基于cookie的,所 以使用setcookie删除包含session id的cookie.*/if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } // 最后彻底销毁session.session_destroy(); ?>
持久化session
请求结束后所有注册的变量都会自动被序列化(为了方便保存到服务器端的会话文本文件中) ,读取时再进行还原。
??手动编码与解码:
??session_encode():序列号-编码
??session_decode():还原-解码
??警告: 有些类型的数据不能被序列化因此也就不能保存在会话中。包括resource变量或者有循环引用的对象(即某对象将一个指向自己的引用传递给另一个对象)。
配置会话控制
php.ini配置文件中有一组会话配置选项,可以对其进行设置。如下:
??session.auto_start= 0 ;在请求启动时初始化session
??session.cache_expire= 180 ; 设置缓存中的会话文档在n 分钟后过时
??session.cookie_lifetime= 0 ;设置按秒记的cookie的保存时间,相当于设置Session的过期时间,为0时表示直到浏览器被重启
也可以在php.ini里启动session.auto_start=1,这样就无需每次使用session之前都要调用session_start()。
但启用该选项也有一些限制,如果确实启用了session.auto_start,则不能将对象放入会话中,因为类定义必须在启动会话之前加载以在会话中重建对象。
??session.cookie_path= / ; cookie的有效路径
??session.cookie_domain= ; cookie的有效域
??session.name= PHPSESSID;用在cookie里的session的名字
??session.save_handler= files ; 用于保存/取回数据的控制方式
??session.save_path= /tmp; 在save_handler设为文件时传给控制器的参数,这是数据文件将保存的路径.
??session.use_cookies= 1 ; 是否使用cookies
文件处理系统
文件类型
??在程序运行时,程序本身和数据一般都存在内存中,当程序运行结束后,存放在内存中的数据被释放。
??如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须以文件形式存储到外部存储介质上。
??文件一般指存储在外部介质上具有名字(文件名)的一组相关数据集合。用文件可长期保存数据,并实现数据共享。
??PHP是以UNIX的文件系统为模型的。因此在Windows系统中我们只能获得”file”、”dir”或者“unknown”三种文件类型。而在UNIX系统中,我们可以获得block、char、dir、fifo、file、link和unknown七种类型。
??可以使用函数filetype()获取文件的具体类型。
??语法:string filetype( string filename )
Liunx系统中7种文件类型说明
is_dir( ) --判断给定文件名是否是一个目录
语法结构:boolis_dir(名称)
返回类型:如果文件名存在并且是一个目录则返回true,否则返回false。
??is_executable( ) --判断给定文件名是否可执行
语法结构:boolis_executable(名称)
返回类型:如果文件存在且可执行则返回true ,否则返回false 。
??is_file( ) --判断给定文件名是否为一个正常的文件
语法结构:boolis_file(名称)
返回类型:如果文件存在且为正常的文件则返回true 。
??is_link( ) --判断给定文件名是否为一个符号连接
语法结构:boolis_link(名称)
返回类型:如果文件存在并且是一个符号连接则返回true。
??is_readable( ) --判断给定文件名是否可读
语法结构:boolis_readable(文件名称)
返回类型:如果文件存在并且可读则返回true。
??is_writable( ) --判断给定的文件名是否可写
语法结构:boolis_writable(文件名称)
返回类型:如果文件存在并且可写则返回true 。
文件的属性
以上就介绍了PHP会话跟踪末与文件处理系统一(43),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。