수행시간 체크

· 15년 전 · 2160
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,039
15년 전 조회 2,924
15년 전 조회 5,932
15년 전 조회 1,887
15년 전 조회 4,649
15년 전 조회 1,769
15년 전 조회 2,038
15년 전 조회 2,034
15년 전 조회 2,022
15년 전 조회 1,515
15년 전 조회 1,750
15년 전 조회 1,893
15년 전 조회 1,823
15년 전 조회 2,513
15년 전 조회 1,677
15년 전 조회 1,782
15년 전 조회 1,279
15년 전 조회 1,381
15년 전 조회 1,367
15년 전 조회 1,324
15년 전 조회 1,274
15년 전 조회 1,320
15년 전 조회 1,456
15년 전 조회 1,501
15년 전 조회 2,995
15년 전 조회 1,332
15년 전 조회 1,993
15년 전 조회 1,863
15년 전 조회 1,996
15년 전 조회 1,697
15년 전 조회 2,204
15년 전 조회 1,005
15년 전 조회 1,480
15년 전 조회 1,454
15년 전 조회 3,232
15년 전 조회 3,591
15년 전 조회 2,268
15년 전 조회 1,748
15년 전 조회 2,350
15년 전 조회 1,840
15년 전 조회 1,464
15년 전 조회 4,157
15년 전 조회 1,813
15년 전 조회 1,893
15년 전 조회 3,151
15년 전 조회 1,849
15년 전 조회 4,541
15년 전 조회 2,750
15년 전 조회 3,532
15년 전 조회 2,161
15년 전 조회 2,389
15년 전 조회 1,687
15년 전 조회 4,747
15년 전 조회 4,378
16년 전 조회 4,176
16년 전 조회 5,587
16년 전 조회 3,819
16년 전 조회 2,177
16년 전 조회 2,138
16년 전 조회 2,273
16년 전 조회 1,977
16년 전 조회 4,397
16년 전 조회 3,314
16년 전 조회 2,470
16년 전 조회 2,069
16년 전 조회 2,267
16년 전 조회 2,767
16년 전 조회 1,840
16년 전 조회 2,766
16년 전 조회 2,088
16년 전 조회 2,223
16년 전 조회 1,870
16년 전 조회 2,575
16년 전 조회 1,888
16년 전 조회 2,306
16년 전 조회 2,464
16년 전 조회 1,563
16년 전 조회 1,627
16년 전 조회 2,279
16년 전 조회 5,695
16년 전 조회 2,006
16년 전 조회 2,523
16년 전 조회 2,715
16년 전 조회 1,876
16년 전 조회 1,651
16년 전 조회 2,586
16년 전 조회 5,302
16년 전 조회 2,573
16년 전 조회 3,230
16년 전 조회 2,095
16년 전 조회 3,978
16년 전 조회 4,798
16년 전 조회 3,435
16년 전 조회 2,686
16년 전 조회 2,794
16년 전 조회 3,015
16년 전 조회 2,546
16년 전 조회 5,892
16년 전 조회 3,721
16년 전 조회 1,705