유

세션을 기준으로 한 간단한 현재 접속자

· 2007-12-17 (월) 13:12:45 · 3507 · 2

<?php

//현재 접속자 가져오기
function Yget_in_user($dir_session){

  $time1 = 60 * 1;//활동중인 현재 접속자 기준 1분
  $time2 = 60 * 5;//현재접속자의 기준 5분

  if (empty($dir_session)) return Array();
  if (!is_dir($dir_session)) return Array();

  $dir_array = Yget_filelist_in_dir($dir_session);
  $return['cnt_total'] = $return['cnt_active'] = $return['cnt_inactive'] = 0;

  foreach($dir_array as $val){

    if (filemtime($val) < (time() - $time2)) continue;
    else $return['cnt_total']++;

    if (filemtime($val) > (time() - $time1)) $return['cnt_active']++;
    else $return['cnt_inactive']++;
  }

  return $return;
}

//넘어온 디렉토리의 모든 일차 파일리스트를 배열로 반환
function Yget_filelist_in_dir($dir_path){

  $dir_path = preg_replace("`/+$`", '', $dir_path);
  if(!is_dir($dir_path)) return Array();

  $return_file = Array();

  $d = dir($dir_path) or die('해당 디렉토리(' . $dir_path . ')를 열수 없습니다.');
  while (false !== ($entry = $d->read())) {

    $temp_file = $dir_path . '/' . $entry;
    if (is_file($temp_file) && !preg_match("`\.$`", $temp_file)) {

      $return_file[] = $temp_file;
    }
  }

  $d->close();

  return $return_file;
}

//현재 접속자 가져오기, 세션을 저장하는 디렉토리 경로를 절대경로 or 상대경로로서 인자로 넘김, $dir_data_session
$in_user_cnt = Yget_in_user($dir_data_session);

?>
<!-- 출력 //-->
[현재 접속자] total : <?=$in_user_cnt['cnt_total']?>, active : <?=$in_user_cnt['cnt_active']?>, inactive : <?=$in_user_cnt['cnt_inactive']?>




[참고]
윈도우 머신에선 되지 않을 것같습니다. 확인해 보지 않았습니다.
리눅스, 유닉스 머신에선 잘 될것입니다. 유닉스 머신에선 확인하지 않았습니다.

[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]
|

댓글 2개

아..... 인기 없습니다.

한동안 또 쉬어야 할듯........

농담입니다.

위의 함수들은 두개로 나눠져 있는데 굳이 두개로 나눌필요없이 하나로 합치는게 효율적입니다.

저같은 경우는 미리 함수를 만들어놓은게 있어서 사용햇을 뿐이고요

함수두개를 사용하면 쓸데없이 루프 두번 도는 결과가 됩니다.

그누보드에서는 저런 현재 접속자가 필요없겟지만

간단하게 만드는 페이지들에서 현재 접속자가 궁금할때 사용해 볼수 있는 방법입니다.
참고합니다.
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
08-04-17 조회 4,330
08-03-14 조회 3,213
08-03-08 조회 3,032
08-03-06 조회 3,008
08-03-03 조회 4,297
08-02-20 조회 2,981
08-02-15 조회 3,900
08-02-11 조회 5,053
08-02-09 조회 5,792
08-02-05 조회 3,826
08-01-14 조회 6,638
08-01-11 조회 7,069
08-01-04 조회 1.1만
07-12-10 조회 4,974
07-12-10 조회 3,840
07-12-04 조회 3,381
07-11-29 조회 3,554
07-11-27 조회 3,911
07-11-23 조회 4,508
07-11-23 조회 4,243
07-11-13 조회 4,367
07-10-19 조회 4,832
07-10-17 조회 5,882
07-10-03 조회 5,041
07-10-02 조회 8,809
07-10-02 조회 4,463
07-09-09 조회 3,438
07-07-29 조회 4,322
07-07-28 조회 4,541
07-07-26 조회 4,449
07-06-19 조회 1.1만
07-06-17 조회 3,615
07-06-15 조회 4,110
07-05-31 조회 3,172
07-05-09 조회 5,325
07-05-04 조회 3,176
07-05-04 조회 3,519
07-04-28 조회 6,417
07-04-26 조회 4,665
07-04-14 조회 5,311
07-04-13 조회 3,723
07-04-12 조회 5,914
07-03-27 조회 3,858
07-03-19 조회 3,560
07-03-13 조회 4,629
07-03-07 조회 4,779
07-03-07 조회 3,289
07-02-25 조회 3,648
07-02-21 조회 4,538
07-02-18 조회 5,063
07-02-12 조회 3,408
07-02-02 조회 4,519
07-01-28 조회 6,132
07-01-27 조회 5,645
07-01-25 조회 4,004
07-01-21 조회 4,639
07-01-19 조회 6,581
07-01-19 조회 8,037
07-01-13 조회 3,498
07-01-09 조회 5,137
06-12-27 조회 3,534
06-11-24 조회 3,660
06-11-18 조회 4,177
06-10-17 조회 5,498
06-10-01 조회 4,417
06-09-26 조회 4,302
06-09-25 조회 4,623
06-09-25 조회 4,332
06-09-22 조회 4,862
06-09-22 조회 3,635
06-09-22 조회 4,466
06-09-13 조회 5,294
06-08-27 조회 4,896
06-08-26 조회 6,272
06-08-26 조회 5,578
06-08-23 조회 5,076
06-07-28 조회 7,176
06-07-24 조회 4,634
06-07-23 조회 5,415
06-07-21 조회 5,173
06-07-19 조회 3,056
06-07-19 조회 2,974
06-07-11 조회 3,627
06-07-11 조회 3,919
06-07-11 조회 4,495
06-07-11 조회 4,958
06-07-11 조회 3,578
06-07-11 조회 9,199
06-07-11 조회 4,057
06-07-11 조회 3,288
06-07-11 조회 3,339
06-07-11 조회 3,273
06-07-11 조회 3,075
06-07-07 조회 4,119
06-06-25 조회 4,466
06-06-15 조회 4,461
06-06-14 조회 4,944
06-06-11 조회 3,534
06-06-10 조회 3,918
06-06-09 조회 3,499