수행시간 체크

· 15년 전 · 1887
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,767
15년 전 조회 2,674
15년 전 조회 5,645
15년 전 조회 1,585
15년 전 조회 4,382
15년 전 조회 1,482
15년 전 조회 1,770
15년 전 조회 1,745
15년 전 조회 1,744
15년 전 조회 1,244
15년 전 조회 1,489
15년 전 조회 1,633
15년 전 조회 1,539
15년 전 조회 2,255
15년 전 조회 1,403
15년 전 조회 1,488
15년 전 조회 1,019
15년 전 조회 1,108
15년 전 조회 1,094
15년 전 조회 1,049
15년 전 조회 984
15년 전 조회 1,057
15년 전 조회 1,199
15년 전 조회 1,213
15년 전 조회 2,744
15년 전 조회 1,051
15년 전 조회 1,715
15년 전 조회 1,577
15년 전 조회 1,715
15년 전 조회 1,413
15년 전 조회 1,907
15년 전 조회 723
15년 전 조회 1,207
15년 전 조회 1,178
15년 전 조회 2,967
15년 전 조회 3,308
15년 전 조회 1,974
15년 전 조회 1,463
15년 전 조회 2,077
15년 전 조회 1,589
15년 전 조회 1,194
15년 전 조회 3,887
15년 전 조회 1,521
15년 전 조회 1,619
15년 전 조회 2,874
15년 전 조회 1,565
15년 전 조회 4,278
15년 전 조회 2,483
15년 전 조회 3,259
15년 전 조회 1,888
15년 전 조회 2,123
15년 전 조회 1,410
15년 전 조회 4,485
15년 전 조회 4,094
15년 전 조회 3,908
15년 전 조회 5,308
15년 전 조회 3,539
15년 전 조회 1,912
15년 전 조회 1,857
15년 전 조회 1,999
15년 전 조회 1,711
15년 전 조회 4,112
15년 전 조회 3,025
15년 전 조회 2,196
16년 전 조회 1,788
16년 전 조회 2,002
16년 전 조회 2,494
16년 전 조회 1,574
16년 전 조회 2,509
16년 전 조회 1,833
16년 전 조회 1,947
16년 전 조회 1,596
16년 전 조회 2,293
16년 전 조회 1,611
16년 전 조회 2,034
16년 전 조회 2,221
16년 전 조회 1,298
16년 전 조회 1,360
16년 전 조회 2,016
16년 전 조회 5,443
16년 전 조회 1,740
16년 전 조회 2,259
16년 전 조회 2,454
16년 전 조회 1,612
16년 전 조회 1,402
16년 전 조회 2,330
16년 전 조회 5,043
16년 전 조회 2,310
16년 전 조회 2,972
16년 전 조회 1,848
16년 전 조회 3,702
16년 전 조회 4,547
16년 전 조회 3,193
16년 전 조회 2,456
16년 전 조회 2,545
16년 전 조회 2,778
16년 전 조회 2,276
16년 전 조회 5,635
16년 전 조회 3,475
16년 전 조회 1,458