[PHP] Code thống kê truy cập đơn giản bằng File

6 bài đăng
25.08.2017 / 21:48
hanhphucao
Bài đăng: 2469
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

Dưới đây là code thống kê truy cập đơn giản.

Tạo tập tin stats.php:

PHP
  1. define('ROOT', dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR);
  2. define('URI',$_SERVER['REQUEST_URI']);
  3. $ip = $_SERVER['REMOTE_ADDR'];
  4.  
  5. function online(){
  6. global $ip;
  7. $file = ROOT . 'counter/online.log';
  8. $data = file_get_contents($file);
  9. if(count(explode($ip,$data)) < 2) $data .= "$ip@".date('U')."@".URI."\r\n";
  10. $lines = explode("\r\n",$data);
  11. foreach($lines as $a){
  12. if(count(explode($ip,$a)) > 1) $data = str_replace($a, $ip.'@'.date('U').'@'.URI, $data);
  13. elseif(!empty($a) && explode('@',$a)[1] < date('U') - 15 * 60) $data = str_replace($a."\r\n", '', $data);
  14. }
  15. $online = count(explode("\r\n",$data))-1;
  16. file_put_contents($file, $data);
  17. return $online;
  18. }
  19. function today(){
  20. $file = ROOT . 'counter/count.txt';
  21. $data = file_get_contents($file);
  22. $today = explode('@',$data)[0];
  23. $td = explode('|',$today);
  24. $total = explode('@',$data)[1];
  25. $total++;
  26. if($td[1]==date('dmY')) $tday = $td[0]+1;
  27. else $tday = 1;
  28. $today = $tday.'|'.date('dmY');
  29. file_put_contents($file,$today.'@'.$total);
  30. return $tday.'/'.$total;
  31. }

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
  1. require('stats.php');
  2. echo 'Online: ' . online();
  3. echo '<br/>Truy cập hôm nay / tổng: ' . today();

Lưu ý: this is function.

Thắc mắc comment tại đây.

21.09.2017 / 18:33
NPNpro
Bài đăng: 89
Member
Http://ketnoi127.blogspot.com

Thắc mắc vkl

21.09.2017 / 19:14
Jichan
Bài đăng: 1028
Member
Mệt cứ nói, đừng cố....

còn tuần trước?

21.09.2017 / 20:48
hanhphucao
Bài đăng: 2469
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

Tự viết =))

21.09.2017 / 22:26
dat2013
Bài đăng: 376
Member
Tổn thương :(
hanhphucao đã viết

Tự viết =))

Ghê ệi !!!

22.09.2017 / 11:01
Jichan
Bài đăng: 1028
Member
Mệt cứ nói, đừng cố....
hanhphucao đã viết

Tự viết =))

:| oh. I know...