수행시간 체크

· 15년 전 · 1777
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,639
15년 전 조회 2,523
15년 전 조회 5,507
15년 전 조회 1,476
15년 전 조회 4,240
15년 전 조회 1,368
15년 전 조회 1,666
15년 전 조회 1,633
15년 전 조회 1,622
15년 전 조회 1,124
15년 전 조회 1,373
15년 전 조회 1,511
15년 전 조회 1,420
15년 전 조회 2,145
15년 전 조회 1,288
15년 전 조회 1,347
15년 전 조회 894
15년 전 조회 1,001
15년 전 조회 969
15년 전 조회 931
15년 전 조회 882
15년 전 조회 944
15년 전 조회 1,084
15년 전 조회 1,104
15년 전 조회 2,625
15년 전 조회 951
15년 전 조회 1,603
15년 전 조회 1,473
15년 전 조회 1,602
15년 전 조회 1,303
15년 전 조회 1,794
15년 전 조회 610
15년 전 조회 1,101
15년 전 조회 1,067
15년 전 조회 2,860
15년 전 조회 3,175
15년 전 조회 1,852
15년 전 조회 1,358
15년 전 조회 1,976
15년 전 조회 1,480
15년 전 조회 1,085
15년 전 조회 3,777
15년 전 조회 1,423
15년 전 조회 1,519
15년 전 조회 2,748
15년 전 조회 1,446
15년 전 조회 4,171
15년 전 조회 2,381
15년 전 조회 3,161
15년 전 조회 1,778
15년 전 조회 2,005
15년 전 조회 1,305
15년 전 조회 4,383
15년 전 조회 3,960
15년 전 조회 3,785
15년 전 조회 5,201
15년 전 조회 3,423
15년 전 조회 1,802
15년 전 조회 1,762
15년 전 조회 1,906
15년 전 조회 1,600
15년 전 조회 4,002
15년 전 조회 2,914
15년 전 조회 2,096
15년 전 조회 1,675
15년 전 조회 1,911
15년 전 조회 2,393
15년 전 조회 1,475
15년 전 조회 2,410
15년 전 조회 1,743
15년 전 조회 1,842
15년 전 조회 1,493
15년 전 조회 2,182
15년 전 조회 1,516
15년 전 조회 1,929
16년 전 조회 2,119
16년 전 조회 1,190
16년 전 조회 1,256
16년 전 조회 1,906
16년 전 조회 5,346
16년 전 조회 1,646
16년 전 조회 2,157
16년 전 조회 2,357
16년 전 조회 1,509
16년 전 조회 1,312
16년 전 조회 2,229
16년 전 조회 4,942
16년 전 조회 2,217
16년 전 조회 2,875
16년 전 조회 1,755
16년 전 조회 3,609
16년 전 조회 4,446
16년 전 조회 3,111
16년 전 조회 2,357
16년 전 조회 2,446
16년 전 조회 2,689
16년 전 조회 2,180
16년 전 조회 5,517
16년 전 조회 3,373
16년 전 조회 1,366