Dưới đây là code thống kê truy cập đơn giản.
Tạo tập tin stats.php:
PHP
define('ROOT', dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR); define('URI',$_SERVER['REQUEST_URI']); $ip = $_SERVER['REMOTE_ADDR']; function online(){ global $ip; $file = ROOT . 'counter/online.log'; $data = file_get_contents($file); if(count(explode($ip,$data)) < 2) $data .= "$ip@".date('U')."@".URI."\r\n"; $lines = explode("\r\n",$data); foreach($lines as $a){ if(count(explode($ip,$a)) > 1) $data = str_replace($a, $ip.'@'.date('U').'@'.URI, $data); elseif(!empty($a) && explode('@',$a)[1] < date('U') - 15 * 60) $data = str_replace($a."\r\n", '', $data); } $online = count(explode("\r\n",$data))-1; file_put_contents($file, $data); return $online; } function today(){ $file = ROOT . 'counter/count.txt'; $data = file_get_contents($file); $today = explode('@',$data)[0]; $td = explode('|',$today); $total = explode('@',$data)[1]; $total++; if($td[1]==date('dmY')) $tday = $td[0]+1; else $tday = 1; $today = $tday.'|'.date('dmY'); file_put_contents($file,$today.'@'.$total); return $tday.'/'.$total; }
Tạo các file, thư mục sau (cùng phân cấp thư mục):
stats.php
counter/
-------------count.txt
-------------online.log
Cách dùng:
PHP
require('stats.php'); echo 'Online: ' . online(); echo '<br/>Truy cập hôm nay / tổng: ' . today();
Lưu ý: this is function.
Thắc mắc comment tại đây.