수행시간 체크

· 15년 전 · 2152
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,029
15년 전 조회 2,916
15년 전 조회 5,925
15년 전 조회 1,882
15년 전 조회 4,641
15년 전 조회 1,761
15년 전 조회 2,029
15년 전 조회 2,025
15년 전 조회 2,015
15년 전 조회 1,509
15년 전 조회 1,744
15년 전 조회 1,885
15년 전 조회 1,814
15년 전 조회 2,503
15년 전 조회 1,667
15년 전 조회 1,775
15년 전 조회 1,271
15년 전 조회 1,377
15년 전 조회 1,359
15년 전 조회 1,313
15년 전 조회 1,269
15년 전 조회 1,312
15년 전 조회 1,445
15년 전 조회 1,497
15년 전 조회 2,985
15년 전 조회 1,325
15년 전 조회 1,987
15년 전 조회 1,856
15년 전 조회 1,986
15년 전 조회 1,691
15년 전 조회 2,197
15년 전 조회 995
15년 전 조회 1,471
15년 전 조회 1,447
15년 전 조회 3,225
15년 전 조회 3,584
15년 전 조회 2,263
15년 전 조회 1,743
15년 전 조회 2,343
15년 전 조회 1,835
15년 전 조회 1,457
15년 전 조회 4,148
15년 전 조회 1,807
15년 전 조회 1,884
15년 전 조회 3,146
15년 전 조회 1,842
15년 전 조회 4,535
15년 전 조회 2,746
15년 전 조회 3,522
15년 전 조회 2,153
15년 전 조회 2,385
15년 전 조회 1,681
15년 전 조회 4,739
15년 전 조회 4,374
16년 전 조회 4,172
16년 전 조회 5,575
16년 전 조회 3,811
16년 전 조회 2,168
16년 전 조회 2,132
16년 전 조회 2,267
16년 전 조회 1,971
16년 전 조회 4,386
16년 전 조회 3,308
16년 전 조회 2,465
16년 전 조회 2,061
16년 전 조회 2,260
16년 전 조회 2,762
16년 전 조회 1,830
16년 전 조회 2,761
16년 전 조회 2,080
16년 전 조회 2,216
16년 전 조회 1,863
16년 전 조회 2,563
16년 전 조회 1,878
16년 전 조회 2,300
16년 전 조회 2,455
16년 전 조회 1,555
16년 전 조회 1,620
16년 전 조회 2,272
16년 전 조회 5,688
16년 전 조회 1,999
16년 전 조회 2,513
16년 전 조회 2,709
16년 전 조회 1,870
16년 전 조회 1,644
16년 전 조회 2,581
16년 전 조회 5,297
16년 전 조회 2,567
16년 전 조회 3,224
16년 전 조회 2,087
16년 전 조회 3,970
16년 전 조회 4,792
16년 전 조회 3,431
16년 전 조회 2,677
16년 전 조회 2,786
16년 전 조회 3,011
16년 전 조회 2,538
16년 전 조회 5,887
16년 전 조회 3,714
16년 전 조회 1,698