js代码|读取txt文件内行数并展示(空白行数不计算在内)
时间:2023-06-08 22:39:06 阅读:558
利用JS代码读取txt文件内的行数,然后显示出来做到方便统计。
ps:不计算空行。
<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); ?>
网友评论