수행시간 체크

· 15년 전 · 1816
PHP]현재 접속자 수 체크하기

<접속했을때>
1.방문자가 사이트에 접속한다.
2.방문자가 사이트에 접속하면 현재의 시간과 접속한 방문자의 IP를 체크한다.
3.방문자의 IP를 이름으로 갖는 텍스트 파일을 생성한다.(생성시간은 방문자가 접속한 시간)
4.다른 IP를 가진 사용자일경우 다른 파일로 생성될 것이기 때문에 파일의 개수를 세어 출력한다.

<떠났을때>
1.방문자가 사이트에 접속한다.
2.방문자가 사이트에 접속하면 현재의 시간과 접속한 방문자의 IP를 체크한다.
3.각 파일들의 생성 시간과 현재 시간과의 차가 20초 이상인 파일을 삭제한다. 즉 20초마다 refresh 하겠다는 말이다.
4.위와 동일
5.위와 동일

<?
$time = time();    //현재의 시간 저장
$ip = $_SERVER[REMOTE_ADDR];    //방문자 IP저장
?>

$result = opendir("now");    //now에 있는 파일 꺼내기 (퍼미션주의)
while($file = readdir($result)){
    if($file == "." || $file == ".."){
        continue;    //파일 이름이 . 또는 ..일 경우에 무시하기( . 과 ..은 경로이다)
    }
    $visit = filemtime("now/$file");    //파일의 생성시간 구하기
    $out = $time - $visit;    //방문자의 접속시간
    if($out > 20){
    unlink("now/$file");    //접속유지 시간이 지난 사용자 삭제
    }
}

$fp = fopen("now/$ip", "w");    //(3)
fwrite($fp, "0");    //파일의 내용이 무엇이 들어가건 상관없다.
fclose($fp);

<Source>
<?
//////////////////////////////////
// 1.방문자가 사이트에 접속한다.
// 2.현재의 시간과 방문자의 IP체크
// 3.각 파일들의 생성 시간과 현재 시간의 차가 20초 이상인 파일을 삭제
// 4.IP를 이름으로 갖는 텍스트를 생성
// 5.파일의 개수를 세어 출력한다.
///////////////////////////////////

$time = time(); //현재 시간
$ip = $_SERVER[REMOTE_ADDR];    //IP Addr

$result = opendir("now");
while($file = readdir($result)){
        if($file == "." || $file == "..")
                continue;
        $visit = filemtime("now/$file");        //파일의 생성시간
        $out = $time - $visit;
        if(out>20){
                unlink("now/$file");
        }
}

$fp = fopen("now/$ip", "w");
fwrite($fp, "0");
fclose($fp);

$result = opendir("now");
while($file = readdir($result)){
        if($file=="." || $file=="..")
                continue;
        $i++;
}
echo "현재 접속자 수는 <b>$i</b>명 입니다.<br>";

?>


$result = opendir("now");
while($file = readdir($result)){
    if($file == "." || $file == "..")

[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
15년 전 조회 2,682
15년 전 조회 2,577
15년 전 조회 5,565
15년 전 조회 1,525
15년 전 조회 4,292
15년 전 조회 1,421
15년 전 조회 1,718
15년 전 조회 1,687
15년 전 조회 1,679
15년 전 조회 1,176
15년 전 조회 1,424
15년 전 조회 1,554
15년 전 조회 1,478
15년 전 조회 2,190
15년 전 조회 1,337
15년 전 조회 1,404
15년 전 조회 954
15년 전 조회 1,053
15년 전 조회 1,020
15년 전 조회 970
15년 전 조회 927
15년 전 조회 990
15년 전 조회 1,135
15년 전 조회 1,153
15년 전 조회 2,679
15년 전 조회 1,001
15년 전 조회 1,657
15년 전 조회 1,524
15년 전 조회 1,651
15년 전 조회 1,351
15년 전 조회 1,852
15년 전 조회 666
15년 전 조회 1,146
15년 전 조회 1,115
15년 전 조회 2,888
15년 전 조회 3,225
15년 전 조회 1,891
15년 전 조회 1,412
15년 전 조회 2,019
15년 전 조회 1,527
15년 전 조회 1,125
15년 전 조회 3,814
15년 전 조회 1,468
15년 전 조회 1,564
15년 전 조회 2,789
15년 전 조회 1,482
15년 전 조회 4,204
15년 전 조회 2,425
15년 전 조회 3,207
15년 전 조회 1,817
15년 전 조회 2,051
15년 전 조회 1,356
15년 전 조회 4,429
15년 전 조회 4,004
15년 전 조회 3,828
15년 전 조회 5,250
15년 전 조회 3,477
15년 전 조회 1,858
15년 전 조회 1,804
15년 전 조회 1,948
15년 전 조회 1,649
15년 전 조회 4,044
15년 전 조회 2,972
15년 전 조회 2,143
16년 전 조회 1,727
16년 전 조회 1,960
16년 전 조회 2,445
16년 전 조회 1,523
16년 전 조회 2,447
16년 전 조회 1,786
16년 전 조회 1,888
16년 전 조회 1,536
16년 전 조회 2,234
16년 전 조회 1,564
16년 전 조회 1,977
16년 전 조회 2,161
16년 전 조회 1,235
16년 전 조회 1,304
16년 전 조회 1,952
16년 전 조회 5,389
16년 전 조회 1,694
16년 전 조회 2,211
16년 전 조회 2,402
16년 전 조회 1,555
16년 전 조회 1,359
16년 전 조회 2,282
16년 전 조회 4,997
16년 전 조회 2,262
16년 전 조회 2,921
16년 전 조회 1,800
16년 전 조회 3,654
16년 전 조회 4,492
16년 전 조회 3,145
16년 전 조회 2,404
16년 전 조회 2,490
16년 전 조회 2,733
16년 전 조회 2,220
16년 전 조회 5,566
16년 전 조회 3,415
16년 전 조회 1,412