CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

????怎样删除session文件????

楼主Jzealot(小瑞)2003-10-04 11:49:20 在 Web 开发 / PHP 提问

由于我在网页中用到了session,但是,每打开一次主页时,它都会生成一个session文件在php的session目录中,如果打开n次,那不是要生成n个session文件。  
   
  所以我想在关闭浏览器时,自动删除session文件(注:不是删除session,而是删除整个文件),请问怎么做?  
   
  如果不生成session文件最好,请问这个是否能实现,又该怎么做?.  
   
  问题点数:0、回复次数:10Top

1 楼feel8(Max.H)回复于 2003-10-04 11:51:54 得分 0

好像办不到,  
  可以写一个程序,定期运行,删掉所有session  
  或是把session保存目录设在系统temp文件夹   ,系统重启会自动处理Top

2 楼jueban9818(是孟是E,是思是归,反正不是大灰狼)回复于 2003-10-04 23:57:16 得分 0

up~Top

3 楼arcow(冲星)回复于 2003-10-05 01:38:42 得分 0

关注ingTop

4 楼CPerlAsm_Lx(一叶知秋)回复于 2003-10-05 05:46:55 得分 0

啊,哎呀,刚学不知道Top

5 楼fufan(fufan)回复于 2003-10-05 10:10:00 得分 0

顶一顶Top

6 楼benchozhang(benchozhang)回复于 2003-10-06 17:41:41 得分 0

楼主,不生成session那还用session干吗?Top

7 楼sunthing(重出江湖)回复于 2003-10-07 11:37:30 得分 0

session   是系统(PHP)自己管理   的啊,一般是一个星期以后就会被删掉,你也可在PHP.INI中修改,其实也只是一个随机号等信息而已,不会占多少空间,我觉得没有必要人为管理!Top

8 楼phping(老七)回复于 2003-10-07 12:28:09 得分 0

在不用SESSION的情况下可用下面禁止自动生成:  
  ini_set("session.auto_star",0);  
   
  如果使用SESSION,又不想以文件方式保存,可以考虑使用session_set_save_handler存入数据库:  
   
   
  if(!mysql_table_exists("sessions",$DB))  
  {  
              $query   =   'CREATE   TABLE   sessions  
                                  (  
                                    SessionID           char(255)       not   null,  
                                    LastUpdated       datetime         not   null,  
                                    DataValue           text,  
                                    PRIMARY   KEY   (   SessionID   ),  
                                    INDEX   (   LastUpdated   )  
                                  )';  
              mysql_query($query);  
  }  
                                                           
  function   sessao_open($aSavaPath,   $aSessionName)  
  {  
              global   $aTime;  
              sessao_gc(   $aTime   );  
              return   True;  
  }  
  function   sessao_close()  
  {  
              return   True;  
  }  
  function   sessao_read(   $aKey   )  
  {  
              $query   =   "SELECT   DataValue   FROM   sessions   WHERE   SessionID='$aKey'";  
              $busca   =   mysql_query($query);  
              if(mysql_num_rows($busca)   ==   1)  
              {  
                          $r   =   mysql_fetch_array($busca);  
                          return   $r['DataValue'];  
              }   ELSE   {  
                          $query   =   "INSERT   INTO   sessions   (SessionID,   LastUpdated,   DataValue)  
                                              VALUES   ('$aKey',   NOW(),   '')";  
                          mysql_query($query);  
                          return   "";  
              }  
  }  
  function   sessao_write(   $aKey,   $aVal   )  
  {  
              $aVal   =   addslashes(   $aVal   );  
              $query   =   "UPDATE   sessions   SET   DataValue   =   '$aVal',   LastUpdated   =   NOW()   WHERE   SessionID   =   '$aKey'";  
              mysql_query($query);  
              return   True;  
  }  
  function   sessao_destroy(   $aKey   )  
  {  
              $query   =   "DELETE   FROM   sessions   WHERE   SessionID   =   '$aKey'";  
              mysql_query($query);  
              return   True;  
  }  
  function   sessao_gc(   $aMaxLifeTime   )  
  {  
              $query   =   "DELETE   FROM   sessions   WHERE   UNIX_TIMESTAMP(NOW())   -   UNIX_TIMESTAMP(LastUpdated)   >   $aMaxLifeTime";  
              mysql_query($query);  
              return   True;  
  }  
  session_set_save_handler("sessao_open",   "sessao_close",   "sessao_read",   "sessao_write",   "sessao_destroy",   "sessao_gc");  
  Top

9 楼dragonsdg3(什么刀)回复于 2003-10-07 20:31:59 得分 0

upTop

10 楼ashchen(老陳)回复于 2003-10-08 09:53:31 得分 0

php清除session临时文件的默认概率是千分之一  
  如果网站流量大可以把概率调小,流量小的话可以调高  
  具体在php.ini的[session]段  
  session.gc_probability   =   1  
  session.gc_divisor           =   100  
   
  这样设置是100次访问会激活一次清除垃圾的进程Top

相关问题

  • 怎样删除文件夹
  • 怎样删除文件???
  • windows中怎样自动删除文件
  • 怎样成批删除文件?
  • 怎样删除磁盘上的文件?
  • 怎样删除带有"?"的文件?
  • 怎样删除一个文件啊?
  • 怎样删除一个文件
  • 怎样部分删除文件?
  • 怎样删除这个文件

关键词

  • 文件
  • 系统
  • mysql
  • php
  • 删除
  • busca
  • datavalue
  • akey
  • 生成
  • lastupdated

得分解答快速导航

  • 帖主:Jzealot

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo