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

http://chancein.com/svc/source_viewer.php

<?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']?>




[참고]
윈도우 머신에선 되지 않을 것같습니다. 확인해 보지 않았습니다.
리눅스, 유닉스 머신에선 잘 될것입니다. 유닉스 머신에선 확인하지 않았습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 바람부는데로

, , ,
Response
No Trackback , No Comment
RSS :
http://apmusers.com/tt/dbckdghk/rss/response/61

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

« Previous : 1 : ... 44 : 45 : 46 : 47 : 48 : 49 : 50 : 51 : 52 : ... 86 : Next »

블로그 이미지

유창화의 블로그(사진은 10년전 모습)

- 바람부는데로

Archives

Calendar

«   2010/07   »
        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

이올린 추천글

Site Stats

Total hits:
166573
Today:
128
Yesterday:
248