ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> PHP技术
关于session的几个补充函数 (转)
                关于session的几个补充函数



在PHP下,关于session的讨论很多,其实在PHP4中还有几个函数是我们平时没有注意到的。



下面我把它们介绍给大家吧。



其中的session_set_save_handler()可真是个好东西。



//********************

session_unset (PHP4 >= 4.0b4)



void session_unset(void);



这个函数可以把当然注册的所有的session变量置为空。注意它不是unregister,也不同于destroy。



下面这个例子,对此函数做了很好的说明。



<?php



session_register("a","b","c"); //auto-session-start

$a=1;

$b=2;

$c=3;

session_unregister("a"); //unregistrered $a

echo "A: $a - reg:".session_is_registered("a")."

"; // but the global $a remains

session_unset(); // unsets $b und $c

echo "B:$b - reg:".session_is_registered("b")."

"; // the registration remains !

echo "C:$c - reg:".session_is_registered("c")."

";

echo session_encode();

?>



输出:

A: 1 - reg:

B: - reg:1

C: - reg:1

!b|!c|



//********************************

session_get_cookie_params (PHP4 >= 4.0RC2)



array session_get_cookie_params (void);



返回一个数组,记录了当前session的cookie的一些信息。

有:



"lifetime" - cookie的生存期。



"path" - cookie的保存路径。



"domain" - cookie的域。



//*******************************

session_set_cookie_params (PHP4 >= 4.0b4)



void session_set_cookie_params (int lifetime [, string path ][, string domain]])



设置session的cookie的一些参参数,类似于php.ini中的设置,但本函数所作的设置,只对当前脚本文件有效。



//*******************************



下面要介绍的这个函数应是对大家都很有用的,你是不是对自定义一个不用cookie来保存的session有兴趣呢?这个函数就可以实现你这样的设想。



让我想想,如果不用cookie的好处是什么?至少一点,你不用担心客户端的的cookie的功能是否打开了,对吧。



session_set_save_handler (PHP4 >= 4.0b4)



void session_set_save_handler (string open, string close, string read, string write, string destroy, string gc)



这个函数可以定义用户级的session的保存函数(打开、关闭、写入等)。

比如,我们想把session保存在本地的一个数据库中时,本函数就很有用了。



!!注意:使用本函数前,先要配置php.ini文件,session.save_hadler=user,否则,session_set_save_handler()不会生效。



此外,根据我的测试,你如果想让这样的session跨页面使用,还要在每一个用到session的脚本文件中加入你自定的函数及session_set_save_handler,所以,最好的方法是做成一个单独的文件,在每一个要用到session的脚本中用include来包含进来。



下面这个例子提供了一个最基本的session保存法,类似于默认的files方法。

如果你想用数据库来实现,这也是很容易做到的。



Example 1. session_set_save_handler() example



<?php



function open ($save_path, $session_name) {

global $sess_save_path, $sess_session_name;



$sess_save_path = $save_path;

$sess_session_name = $session_name;

return(true);

}



function close() {

return(true);

}



function read ($id) {

global $sess_save_path, $sess_session_name;



$sess_file = "$sess_save_path/sess_$id";

if ($fp = @fopen($sess_file, "r")) {

$sess_data = fread($fp, filesize($sess_file));

return($sess_data);

} else {

return("");

}



}



function write ($id, $sess_data) {

global $sess_save_path, $sess_session_name;



$sess_file = "$sess_save_path/sess_$id";

if ($fp = @fopen($sess_file, "w")) {

return(fwrite($fp, $sess_data));

} else {

return(false);

}



}



function destroy ($id) {

global $sess_save_path, $sess_session_name;



$sess_file = &qu
 
 
本站关键词:
|东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计||东莞动态网页|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有