PHP创建日志记录(已封装)

 1 <?php
 2 
 3 class Logs{
 4     private $_filepath;   //文件路径
 5     private $_filename;   //文件名
 6     private $_filehandle; //文件引擎
 7 
 8 
 9      public function Logs($dir = null,$filename = null){
10      
11      $this->_filepath = empty($dir) ? '': $dir;
12      $this->_filename = empty($filename) ? date('Y-m-d',time()).'.log' : $filename;
13     
14     //创建路径
15      $path = $this->_createPath($this->_filepath,$this->_filename);
16 
17      if(!$this->_isExist($path)){//如果日志目录不存在
18 
19         if(!empty($this->_filepath)){  //如果路径不存在
20  
21           if(!$this->_createDir($this->_filepath)){//创建路径
22            die("创建日志目录不成功");
23           }
24         }
25 
26         if(!$this->_createLogFile($path)){//创建日志
27          die("创建日志文件不成功");
28         }
29      }
30     
31 
32      $path = $this->_createPath($this->_filepath,$this->_filename);
33      //创建日志文件
34      $this->_filehandle=fopen($path,"a+");
35      }
36     
37     
38      public function setLog($log) //写日志
39     {
40          //写日志
41          $str = "";
42          if(is_array($log)){
43             foreach($log as $k => $v){
44                $str .= $k." : ".$v."\n";
45             }
46          }else{
47             $str = $log."\n";
48          }
49         
50         
51         if(!fwrite($this->_filehandle,$str)){//写日志
52             die("写日志错误");
53         }
54      }
55     
56     
57      private function _isExist($path){
58      return file_exists($path);
59      }
60     
61     
62      private function _createDir($dir){   
63          return is_dir($dir) or ($this->_createDir(dirname($dir)) and mkdir($dir, 0777));
64      }
65     
66     
67      private function _createLogFile($path){   
68          $handle=fopen($path,"w"); //
69          fclose($handle);
70          return $this->_isExist($path);
71      }
72     
73     
74      private function _createPath($dir,$filename){
75         if(empty($dir)){
76         return $filename;
77         }else{
78         return $dir."/".$filename;
79         }
80      }
81     
82     
83      function __destruct(){
84      //关闭日志
85      fclose($this->_filehandle);
86      }
87  }
88 ?>

 

转载于:https://www.cnblogs.com/etodream/p/3937988.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值