유

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

<?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-02-03 조회 2,810
09-10-03 조회 3,131
08-02-03 조회 3,422
08-02-03 조회 3,358
08-01-30 조회 4,878
08-01-29 조회 2,766
08-01-27 조회 3,890
08-01-27 조회 2,829
08-01-27 조회 3,111
08-01-26 조회 8,660
08-01-26 조회 3,227
08-01-24 조회 5,275
08-01-23 조회 3,609
08-01-21 조회 3,648
08-01-21 조회 3,392
08-01-21 조회 3,406
08-01-18 조회 3,930
08-01-18 조회 4,555
08-01-18 조회 6,716
08-01-18 조회 4,013
08-01-17 조회 3,996
08-01-17 조회 3,814
08-01-16 조회 3,076
08-01-15 조회 3,462
08-01-14 조회 6,708
08-01-12 조회 4,305
08-01-12 조회 3,882
08-01-12 조회 4,590
08-01-12 조회 3,834
08-01-12 조회 4,122
08-01-11 조회 7,149
08-01-10 조회 3,890
08-01-08 조회 3,437
08-01-08 조회 3,910
08-01-06 조회 2,696
08-01-04 조회 1.1만
08-01-02 조회 5,775
07-12-28 조회 4,709
07-12-24 조회 3,128
07-12-21 조회 4,819
07-12-17 조회 3,607
07-12-14 조회 4,971
07-12-13 조회 6,406
07-12-10 조회 5,049
07-12-10 조회 3,929
07-12-10 조회 4,338
07-12-08 조회 3,685
07-12-07 조회 4,021
07-12-07 조회 3,141
07-12-06 조회 4,898
07-12-04 조회 3,459
07-12-04 조회 3,613
07-12-03 조회 3,367
07-12-03 조회 4,409
07-12-02 조회 3,229
07-11-30 조회 3,967
07-11-30 조회 5,202
07-11-30 조회 5,795
07-11-29 조회 3,646
07-11-27 조회 4,121
07-11-27 조회 5,899
07-11-27 조회 3,994
07-11-26 조회 3,116
07-11-23 조회 4,572
07-11-23 조회 4,309
07-11-22 조회 5,207
07-11-21 조회 3,436
07-11-21 조회 3,564
07-11-21 조회 1.2만
07-11-20 조회 4,945
07-11-16 조회 4,790
07-11-13 조회 4,444
07-11-12 조회 4,161
07-11-10 조회 5,556
07-11-08 조회 6,711
07-11-08 조회 5,026
07-11-07 조회 4,498
07-11-07 조회 4,957
07-11-06 조회 3,507
07-11-06 조회 3,873
07-11-05 조회 5,203
07-11-02 조회 4,087
07-11-01 조회 5,550
07-10-31 조회 3,250
07-10-30 조회 3,706
07-10-29 조회 3,696
07-10-26 조회 5,016
07-10-25 조회 5,100
07-10-25 조회 3,897
07-10-24 조회 3,887
07-10-24 조회 4,208
07-10-24 조회 4,071
07-10-24 조회 3,340
07-10-24 조회 3,457
07-10-23 조회 6,103
07-10-23 조회 5,483
07-10-22 조회 4,205
07-10-22 조회 3,588
07-10-22 조회 4,115
07-10-22 조회 3,711