> 백엔드 개발 > 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿