js代码|读取txt文件内行数并展示(空白行数不计算在内)

时间:2023-06-08 22:39:06   阅读:226

利用JS代码读取txt文件内的行数,然后显示出来做到方便统计。

ps:不计算空行。

js代码|读取txt文件内行数并展示(空白行数不计算在内)

<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);


?>


上一篇:模拟器-好玩的万能手柄-北通阿修罗2 PRO多模版

下一篇:网易游戏防封心得

网友评论