3 319 2021-04-13 15:06:01
收藏
<?php
$DB_logs = Db::name('filelog');
$DB_logs->where('id', '>', 0)->delete();
//逐行读取数据
$file = "./filelogs/u_ex200102.log";
$handle = file($file);
for ($i = 0; $i < count($handle); $i++) {
// 除了正则外 还可以 以空格分开数据
// 日志格式 匹配时完全匹配 注意认真对照
// $log = '2020-01-02 00:14:09 172.17.79.157 GET /hy/n235.htm - 443 - 23.234.223.202 Mozilla/5.0+(Linux;u;Android+4.2.2;zh-cn;)+AppleWebKit/534.46+(KHTML,like+Gecko)+Version/5.1+Mobile+Safari/10600.6.3+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0 421';
$pattern = '/^(?P<date>[0-9-]{10}) (?P<time>[0-9:]{8}) (?P<sip>[0-9.]+) GET (?P<url>[^ ]+) (?P<query>[^ ]+) (?P<port>[0-9]+) (?P<username>[^ ]+) (?P<ip>[0-9.]+) (?P<ua>[^\s]+) (?P<end1>[0-9]+) (?P<end2>[0-9]+) (?P<end3>[0-9]+) (?P<end4>[0-9]+)/i';
$res = preg_match($pattern, $handle[$i], $match);
if ($res) {
$data['id'] = $i + 1;
$data['ip'] = $match['ip'];
$data['time'] = $match['date'] . ' ' . $match['time'];
$data['url'] = $match['url'];
$data['ua'] = $match['ua'];
$DB_logs->insert($data);
}
}
本文地址:https://xzo.com.cn/develop/php/801.html
如果您认可我们的分享,有意与我们合作开展帝国cms网站建设与开发业务或插件定制,请联系右侧在线客服。我们能给您的,就是高质量的模板与售后。
标注了信息来源为下载鸥的文章皆为原创,如果是转载的优质文章,我们也都标注了出处。如果您喜欢我们的文章,请按照下载鸥所标注的文章出处进行标注,谢谢您的配合。
PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。
PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。
我们知道,str_replace是可以执行替换命令的,但一般是用于一对一替换,这个很好...
互联网上每天都有很多爬虫到处爬取内容,你可能不知道他们是干嘛的,但其中肯定...
数组在实际开发过程中运用非常频繁,通过合理运用数组,我们可以顺利实现各种数...
多维数组在实际开发中比较常见,要foreach循环也很简单。...
在开发过程中,我们很多时候会接到猜你喜欢的随机展示效果。这个随机,用php取...
json是使用非常广泛的数据,通过使用json,我们还可以实现多种语言的联动。今天...
很多互联网公司对并发要求比较高,如果完全依赖服务器性能的提升,则可能会面临...
在网站建成后的维护与优化阶段,我们会面临无用栏目/数据处理的问题。量小的...
互联网上每天都有很多爬虫到处爬取内容,你可能不知道他们是干嘛的,但其中肯定...
新站在上线初期,站长们大多特别关注蜘蛛的动向,但系统蜘蛛日志看了又特别别扭...
任何站点但凡有点流量就会遇到这种情况:首页被人用问号传了参数,恰恰还被收录...
utf-8和gbk都是非常常用的编码,但有时候我们的项目是utf-8,新增的插件什么的...
我们知道,str_replace是可以执行替换命令的,但一般是用于一对一替换,这个很好...
猜你喜欢如果用rand()来获取随机ID是非常消耗性能的。小网站几百几千条数据...
在日常文章的发表过程中,由于需要引入一些外部链接达到更好的效果与体验。但...
在实际操作过程中,我们可能需要通过PHP正则提取字符串中的数字,并组成数组。...