수행시간 체크

· 15년 전 · 1850
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,715
15년 전 조회 2,608
15년 전 조회 5,593
15년 전 조회 1,550
15년 전 조회 4,334
15년 전 조회 1,453
15년 전 조회 1,736
15년 전 조회 1,714
15년 전 조회 1,714
15년 전 조회 1,210
15년 전 조회 1,453
15년 전 조회 1,589
15년 전 조회 1,502
15년 전 조회 2,223
15년 전 조회 1,363
15년 전 조회 1,439
15년 전 조회 981
15년 전 조회 1,072
15년 전 조회 1,053
15년 전 조회 1,009
15년 전 조회 956
15년 전 조회 1,023
15년 전 조회 1,164
15년 전 조회 1,180
15년 전 조회 2,708
15년 전 조회 1,021
15년 전 조회 1,684
15년 전 조회 1,549
15년 전 조회 1,682
15년 전 조회 1,380
15년 전 조회 1,877
15년 전 조회 687
15년 전 조회 1,174
15년 전 조회 1,148
15년 전 조회 2,932
15년 전 조회 3,256
15년 전 조회 1,929
15년 전 조회 1,435
15년 전 조회 2,051
15년 전 조회 1,564
15년 전 조회 1,159
15년 전 조회 3,858
15년 전 조회 1,496
15년 전 조회 1,594
15년 전 조회 2,822
15년 전 조회 1,514
15년 전 조회 4,247
15년 전 조회 2,458
15년 전 조회 3,232
15년 전 조회 1,851
15년 전 조회 2,081
15년 전 조회 1,379
15년 전 조회 4,454
15년 전 조회 4,042
15년 전 조회 3,866
15년 전 조회 5,280
15년 전 조회 3,510
15년 전 조회 1,887
15년 전 조회 1,831
15년 전 조회 1,968
15년 전 조회 1,679
15년 전 조회 4,073
15년 전 조회 3,000
15년 전 조회 2,163
16년 전 조회 1,752
16년 전 조회 1,980
16년 전 조회 2,469
16년 전 조회 1,547
16년 전 조회 2,484
16년 전 조회 1,812
16년 전 조회 1,919
16년 전 조회 1,563
16년 전 조회 2,267
16년 전 조회 1,590
16년 전 조회 2,005
16년 전 조회 2,194
16년 전 조회 1,260
16년 전 조회 1,332
16년 전 조회 1,978
16년 전 조회 5,415
16년 전 조회 1,717
16년 전 조회 2,239
16년 전 조회 2,434
16년 전 조회 1,586
16년 전 조회 1,376
16년 전 조회 2,306
16년 전 조회 5,015
16년 전 조회 2,288
16년 전 조회 2,944
16년 전 조회 1,831
16년 전 조회 3,674
16년 전 조회 4,516
16년 전 조회 3,171
16년 전 조회 2,423
16년 전 조회 2,520
16년 전 조회 2,755
16년 전 조회 2,255
16년 전 조회 5,592
16년 전 조회 3,445
16년 전 조회 1,440