Beispiel #1
0
 /**
  * 自动创建目录,可递归创建
  *
  * @param    string $path 要创建的目录地址
  * @return    boolean    创建成功返回true失败为false
  */
 public static function make_dir($path)
 {
     if (empty($path)) {
         return false;
     }
     if (!file_exists($path)) {
         wcore_fso::make_dir(dirname($path));
         @mkdir($path, 0777);
     }
     return true;
 }
Beispiel #2
0
 /**
  * 写入SESSION内容
  *
  * @param string $sid   会话唯一标识
  * @param string $sdata 会话内容
  * @return boolean
  */
 public function write($sid, $sdata)
 {
     /**
      * SESSION数据为空则清除先前数据
      */
     if (empty($sdata)) {
         $this->destroy($sid);
         return false;
     }
     /**
      * 以数据库方式来处理SESSION
      */
     if ($this->_type == 'db' || $this->_type == 'mdb') {
         $expires = time() + $this->_life_time;
         //SESSION的有效期
         $sql = "REPLACE INTO {$this->_opt} (sId, sData, sIp, sExpires) VALUES ('{$sid}', '{$sdata}', '{$this->_ip}', {$expires})";
         $this->_db->query($sql);
         return $this->_db->affected_rows() > 0 ? true : false;
     }
     /**
      * 以Memcache缓冲方式来处理SESSION
      */
     if ($this->_type == 'mem') {
         $expires = $this->_life_time / 60;
         //SESSION的有效期
         return $this->_mem->set('session', $sid, $sdata, $expires);
     }
     /**
      * 以文件系统的方式来处理SESSION
      */
     if ($this->_type == 'dir') {
         $sfile = "{$this->_path}/{$sid[0]}";
         wcore_fso::make_dir($sfile);
         //处理SESSION存储的路径
         $sfile = "{$sfile}/{$this->_prefix}-{$sid}";
     } else {
         $sfile = "{$this->_path}/{$this->_prefix}-{$sid}";
     }
     return file_put_contents($sfile, $sdata);
 }