js代码|读取txt文件内行数并展示(空白行数不计算在内)
时间:2023-06-08 22:39:06 阅读:675
利用JS代码读取txt文件内的行数,然后显示出来做到方便统计。
ps:不计算空行。
Markup
<h1><p id="line-count"></p></h1>
<script type="text/javascript">
// 创建XMLHttpRequest对象
var xhr = new XMLHttpRequest();
// 打开文件
xhr.open('GET', './zshaowl.txt', true);
// 设置响应类型为文本
xhr.responseType = 'text';
// 监听加载完成事件
xhr.onload = function() {
// 获取文件内容
var content = xhr.response;
// 将内容按行分割成数组
var lines = content.split('\n');
// 计算有内容的行数(去除空行)
var lineCount = lines.filter(function(line) {
return line.trim() !== '';
}).length;
// 将行数展示在HTML中
document.getElementById('line-count').textContent = '访问次数:' + lineCount + '';
};
// 发送请求
xhr.send();
</script>
复制成功!<?php
$ip = $_SERVER['REMOTE_ADDR'];
$time = date('Y-m-d H:i:s');
$referer = isset($_SERVER['HTTP_REFERER']) ? parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST) : $_SERVER['HTTP_HOST'];
$data = $ip . '|' . $time . '|' . $referer . "\n";
file_put_contents('zshao.txt', $data, FILE_APPEND);
?>
<?php
$contents = file_get_contents('zshao.txt');
$lines = explode("\n", $contents);
$count = array();
$latestTime = array();
$latestDomain = array();
foreach ($lines as $line) {
if (!empty($line)) {
list($ip, $time, $domain) = explode('|', $line);
if (isset($count[$ip])) {
$count[$ip]++;
} else {
$count[$ip] = 1;
}
$latestTime[$ip] = $time;
$latestDomain[$ip] = $domain;
}
}
arsort($count); // 按照来访次数降序排序
$data = '';
foreach ($count as $ip => $times) {
$data .= "来访次数:{$times} 来访IP:{$ip} 来访时间:{$latestTime[$ip]} 来路域名:{$latestDomain[$ip]}\n";
}
file_put_contents('zshaowl.txt', $data);
?>
网友评论