수행시간 체크

· 15년 전 · 1769
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,634
15년 전 조회 2,518
15년 전 조회 5,503
15년 전 조회 1,472
15년 전 조회 4,235
15년 전 조회 1,364
15년 전 조회 1,664
15년 전 조회 1,626
15년 전 조회 1,616
15년 전 조회 1,119
15년 전 조회 1,364
15년 전 조회 1,507
15년 전 조회 1,410
15년 전 조회 2,138
15년 전 조회 1,283
15년 전 조회 1,342
15년 전 조회 887
15년 전 조회 998
15년 전 조회 960
15년 전 조회 924
15년 전 조회 873
15년 전 조회 938
15년 전 조회 1,079
15년 전 조회 1,100
15년 전 조회 2,620
15년 전 조회 947
15년 전 조회 1,601
15년 전 조회 1,467
15년 전 조회 1,591
15년 전 조회 1,299
15년 전 조회 1,786
15년 전 조회 605
15년 전 조회 1,093
15년 전 조회 1,061
15년 전 조회 2,854
15년 전 조회 3,171
15년 전 조회 1,845
15년 전 조회 1,351
15년 전 조회 1,970
15년 전 조회 1,473
15년 전 조회 1,077
15년 전 조회 3,772
15년 전 조회 1,415
15년 전 조회 1,511
15년 전 조회 2,742
15년 전 조회 1,437
15년 전 조회 4,161
15년 전 조회 2,376
15년 전 조회 3,155
15년 전 조회 1,770
15년 전 조회 1,999
15년 전 조회 1,301
15년 전 조회 4,376
15년 전 조회 3,957
15년 전 조회 3,780
15년 전 조회 5,195
15년 전 조회 3,416
15년 전 조회 1,797
15년 전 조회 1,759
15년 전 조회 1,901
15년 전 조회 1,597
15년 전 조회 3,997
15년 전 조회 2,908
15년 전 조회 2,091
15년 전 조회 1,670
15년 전 조회 1,905
15년 전 조회 2,384
15년 전 조회 1,468
15년 전 조회 2,401
15년 전 조회 1,736
15년 전 조회 1,837
15년 전 조회 1,490
15년 전 조회 2,176
15년 전 조회 1,507
15년 전 조회 1,923
16년 전 조회 2,113
16년 전 조회 1,186
16년 전 조회 1,251
16년 전 조회 1,899
16년 전 조회 5,339
16년 전 조회 1,637
16년 전 조회 2,149
16년 전 조회 2,349
16년 전 조회 1,500
16년 전 조회 1,309
16년 전 조회 2,223
16년 전 조회 4,936
16년 전 조회 2,212
16년 전 조회 2,867
16년 전 조회 1,749
16년 전 조회 3,600
16년 전 조회 4,442
16년 전 조회 3,105
16년 전 조회 2,353
16년 전 조회 2,434
16년 전 조회 2,683
16년 전 조회 2,172
16년 전 조회 5,513
16년 전 조회 3,367
16년 전 조회 1,361
🐛 버그신고