能举个例子吗??我想获得session开始到session结束的时间,我是把它的存活时间写入到一个文件中去还是有更好的办法来让我看到它存活的时间??能给我举个例子吗??多谢.

解决方案 »

  1.   

    用session_set_save_handler自定义session的控制
    <?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(""); // Must return "" here.
      }}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 = "$sess_save_path/sess_$id";
      return(@unlink($sess_file));
    }/*********************************************
     * WARNING - You will need to implement some *
     * sort of garbage collection routine here.  *
     *********************************************/
    function gc ($maxlifetime) {
      return true;
    }session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");session_start();// proceed to use sessions normally?>
      

  2.   

    这个能获得Session的时间吗?我的PHP水平不高,能解释一下吗,多谢.
      

  3.   

    session时间不是你控制的吗?读一下当前时间不就行了吗?
    你是想读所有session的开始时间吗?默认的file比较难实现,最好是写到库里。
    而且每次点击都会激发session开始时间的改变,楼主的需求似乎很矛盾,为什么不把需求直接说出来呢?
      

  4.   

    session_cache_expire()就行了吧。它将得到php.ini设置的session过期时间。
      

  5.   

    不好意思,可能是我没说清楚,用户访问我这里的服务器是,我要设置个session,我想利用session来知道此用户从访问我这个服务器到离开关闭页面销毁session所用的时间.我要这个时间是很有用的,但是不能利用cookie.
    对了.能利用session_cache_expire()来举一个例子吗?我还不清楚怎么用.多谢.
      

  6.   

    此用户从访问我这个服务器到离开关闭页面销毁session所用的时间 不就是session的存活期吗?
    session_cache_expire()函数获得session的关于存活期的设置。
    打开php.ini关于session的设置就看到了。楼主你要得到用户在你这个服务器停留多久吗?
      

  7.   

    是的.
    不过你说的那个php.ini文件在什么地方呢??