1 Star 0 Fork 0

1207204940_d530ef/tool

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
log.class.php 1.87 KB
一键复制 编辑 原始数据 按行查看 历史
<?php
/**
* 记录日志,默认目录 myoa/webroot/
* new log($logName,$size=2)
* 默认 2mb 大小,超过后自动重命名
*/
class log{
private $logName;
private $logPath;
private $logSize = 2;
private $link;
//创建日志并检测日志大小
public function __construct($logName,$size=null){
$this->logName = $logName;
$this->logPath = $_SERVER['DOCUMENT_ROOT']."/$this->logName.txt";
if($size != null and $size>0){
$this->logSize = $size;
}
if(!$this->exist()){
$this->link = fopen($this->logPath, "a+");
if(!$this->link){
exit('无法创建文件');
}
}else{
if($this->getSize() > $this->logSize){
if(!$this->rename()){
echo "日志文件过大且无法重命名会导致性能下降";
}
}
$this->link = fopen($this->logPath, "a+");
}
}
//检测文件是否存在
private function exist(){
if(is_file($this->logPath)){
return true;
}else{
return false;
}
}
//返回文件的大小 mb
public function getSize(){
if($this->exist()){
$size = filesize($this->logPath);
}else{
return -1;
}
if($size<1024){
return 0.01;
}else if($size>1024 and $size<=1048576){
return 0.1;
}else if($size>1048576){
return round(($size/1024)/1024,2);
}
}
public function rename (){
if($this->exist()){
$newName = $_SERVER['DOCUMENT_ROOT']."/$this->logName".time().".txt";
return rename($this->logPath, $newName);
}else{
return false;
}
}
public function add($str){
$str = $str."------".date('Y-m-d H:i:s').PHP_EOL;
if($this->exist()){
$num = fwrite($this->link, $str);
}
if($num == false){
exit('写入日志失败!');
}
}
public function __destruct(){
fclose($this->link);
}
}
?>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/liucai/tool.git
git@gitee.com:liucai/tool.git
liucai
tool
tool
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385