PHP会话跟踪末与文件处理系统一(43)

WBOY
Lepaskan: 2016-08-08 09:23:12
asal
977 orang telah melayarinya

注销变量

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的案例

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

持久化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教程有兴趣的朋友有所帮助。

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan