首頁 > 後端開發 > php教程 > php实现统计网站在线人数的方法_php技巧

php实现统计网站在线人数的方法_php技巧

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-05-16 20:15:48
原創
1148 人瀏覽過

本文实例讲述了php实现统计网站在线人数的方法。分享给大家供大家参考。具体实现方法如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

<&#63;php

function getIpAddress() { // 取得当前用户的IP地址

 if (getenv('HTTP_CLIENT_IP')) {

 $ip = getenv('HTTP_CLIENT_IP');

 } elseif (getenv('HTTP_X_FORWARDED_FOR')) {

 $ip = getenv('HTTP_X_FORWARDED_FOR');

 } elseif (getenv('REMOTE_ADDR')) {

 $ip = getenv('REMOTE_ADDR');

 } else {

 $ip = $_SERVER['REMOE_ADDR'];

 }

 return $ip;

}

function writeover($filename,$data,$method = 'w',$chmod = 0){

 $handle = fopen($filename, $method);

 !handle && die("文件打开失败");

 flock($handle, LOCK_EX);

 fwrite($handle, $data);

 flock($handle, LOCK_UN);

 fclose($handle);

 $chmod && @chmod($filename, 0777);

}

function count_online_num($time, $ip) {

 $fileCount = './count.txt';

 $count = 0;

 $gap = 900; //15分钟不刷新页面就

 if (!file_exists($fileCount)) {

 $str = $time . "\t" . $ip . "\r\n";

 writeover($fileCount, $str, 'w', 1);

 $count = 1;

 } else {

 $arr = file($fileCount);

 $flag = 0;

 foreach($arr as $key => $val) {

  $val= trim($val);

  if ($val != "") {

  list($when, $seti) = explode("\t", $val);

  if ($seti ==$ip) {

   $arr[$key] = $time . "\t" . $seti;

   $flag = 1;

  } else {

   $currentTime = time();

   if ($currentTime - $when > 900) {

   unset($arr[$key]);

   }else{

   $arr[$key]=$val;

   }

  }

  }

 }

 if ($flag == 0) {

  array_push($arr, $time . "\t" . $ip);

 }

 $count = count($arr);

 $str = implode("\r\n", $arr);

 $str.="\r\n";

 writeover($fileCount, $str, 'w', 0);

 unset($arr);

 }

 return $count;

}

$time = time();

$ip = getIpAddress();

$online_num = count_online_num($time,$ip);

echo $online_num;

&#63;>

登入後複製

希望本文所述对大家的php程序设计有所帮助。

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
怎麼學好php
來自於 1970-01-01 08:00:00
0
0
0
PHP擴充intl
來自於 1970-01-01 08:00:00
0
0
0
php數據獲取?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板