수행시간 체크

· 15년 전 · 1761
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,619
15년 전 조회 2,507
15년 전 조회 5,492
15년 전 조회 1,458
15년 전 조회 4,223
15년 전 조회 1,354
15년 전 조회 1,647
15년 전 조회 1,613
15년 전 조회 1,605
15년 전 조회 1,108
15년 전 조회 1,358
15년 전 조회 1,497
15년 전 조회 1,401
15년 전 조회 2,130
15년 전 조회 1,273
15년 전 조회 1,331
15년 전 조회 874
15년 전 조회 986
15년 전 조회 948
15년 전 조회 916
15년 전 조회 865
15년 전 조회 925
15년 전 조회 1,069
15년 전 조회 1,089
15년 전 조회 2,607
15년 전 조회 934
15년 전 조회 1,587
15년 전 조회 1,457
15년 전 조회 1,578
15년 전 조회 1,286
15년 전 조회 1,775
15년 전 조회 595
15년 전 조회 1,080
15년 전 조회 1,051
15년 전 조회 2,844
15년 전 조회 3,157
15년 전 조회 1,832
15년 전 조회 1,340
15년 전 조회 1,959
15년 전 조회 1,463
15년 전 조회 1,068
15년 전 조회 3,761
15년 전 조회 1,404
15년 전 조회 1,501
15년 전 조회 2,729
15년 전 조회 1,427
15년 전 조회 4,152
15년 전 조회 2,366
15년 전 조회 3,142
15년 전 조회 1,762
15년 전 조회 1,990
15년 전 조회 1,290
15년 전 조회 4,368
15년 전 조회 3,942
15년 전 조회 3,770
15년 전 조회 5,183
15년 전 조회 3,406
15년 전 조회 1,786
15년 전 조회 1,747
15년 전 조회 1,890
15년 전 조회 1,584
15년 전 조회 3,983
15년 전 조회 2,896
15년 전 조회 2,082
15년 전 조회 1,660
15년 전 조회 1,895
15년 전 조회 2,377
15년 전 조회 1,460
15년 전 조회 2,393
15년 전 조회 1,726
15년 전 조회 1,825
15년 전 조회 1,478
15년 전 조회 2,167
15년 전 조회 1,498
15년 전 조회 1,913
16년 전 조회 2,105
16년 전 조회 1,180
16년 전 조회 1,240
16년 전 조회 1,886
16년 전 조회 5,329
16년 전 조회 1,631
16년 전 조회 2,140
16년 전 조회 2,341
16년 전 조회 1,488
16년 전 조회 1,297
16년 전 조회 2,212
16년 전 조회 4,926
16년 전 조회 2,202
16년 전 조회 2,858
16년 전 조회 1,739
16년 전 조회 3,592
16년 전 조회 4,430
16년 전 조회 3,099
16년 전 조회 2,344
16년 전 조회 2,425
16년 전 조회 2,674
16년 전 조회 2,162
16년 전 조회 5,504
16년 전 조회 3,356
16년 전 조회 1,348
🐛 버그신고