수행시간 체크

· 15년 전 · 2349
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년 전 조회 3,242
15년 전 조회 3,118
15년 전 조회 6,128
15년 전 조회 2,069
15년 전 조회 4,848
15년 전 조회 1,959
15년 전 조회 2,242
15년 전 조회 2,221
15년 전 조회 2,220
15년 전 조회 1,701
15년 전 조회 1,948
15년 전 조회 2,076
15년 전 조회 2,025
15년 전 조회 2,725
15년 전 조회 1,867
15년 전 조회 1,978
15년 전 조회 1,468
15년 전 조회 1,581
15년 전 조회 1,577
15년 전 조회 1,503
15년 전 조회 1,470
15년 전 조회 1,511
15년 전 조회 1,659
15년 전 조회 1,679
15년 전 조회 3,194
15년 전 조회 1,519
15년 전 조회 2,175
15년 전 조회 2,034
15년 전 조회 2,185
15년 전 조회 1,894
15년 전 조회 2,396
15년 전 조회 1,200
15년 전 조회 1,681
15년 전 조회 1,654
15년 전 조회 3,451
15년 전 조회 3,785
15년 전 조회 2,482
15년 전 조회 1,933
15년 전 조회 2,567
15년 전 조회 2,041
15년 전 조회 1,664
15년 전 조회 4,355
15년 전 조회 2,002
15년 전 조회 2,093
15년 전 조회 3,350
15년 전 조회 2,060
15년 전 조회 4,745
15년 전 조회 2,937
15년 전 조회 3,745
15년 전 조회 2,350
15년 전 조회 2,595
15년 전 조회 1,889
16년 전 조회 4,938
16년 전 조회 4,566
16년 전 조회 4,347
16년 전 조회 5,774
16년 전 조회 3,993
16년 전 조회 2,351
16년 전 조회 2,332
16년 전 조회 2,467
16년 전 조회 2,158
16년 전 조회 4,600
16년 전 조회 3,504
16년 전 조회 2,661
16년 전 조회 2,259
16년 전 조회 2,447
16년 전 조회 2,959
16년 전 조회 2,048
16년 전 조회 2,974
16년 전 조회 2,298
16년 전 조회 2,421
16년 전 조회 2,048
16년 전 조회 2,761
16년 전 조회 2,073
16년 전 조회 2,498
16년 전 조회 2,678
16년 전 조회 1,749
16년 전 조회 1,813
16년 전 조회 2,475
16년 전 조회 5,897
16년 전 조회 2,208
16년 전 조회 2,733
16년 전 조회 2,914
16년 전 조회 2,071
16년 전 조회 1,855
16년 전 조회 2,782
16년 전 조회 5,496
16년 전 조회 2,775
16년 전 조회 3,429
16년 전 조회 2,288
16년 전 조회 4,184
16년 전 조회 4,981
16년 전 조회 3,625
16년 전 조회 2,873
16년 전 조회 2,995
16년 전 조회 3,208
16년 전 조회 2,726
16년 전 조회 6,083
16년 전 조회 3,901
16년 전 조회 1,891