수행시간 체크

· 15년 전 · 1772
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,636
15년 전 조회 2,522
15년 전 조회 5,505
15년 전 조회 1,474
15년 전 조회 4,236
15년 전 조회 1,364
15년 전 조회 1,665
15년 전 조회 1,626
15년 전 조회 1,620
15년 전 조회 1,121
15년 전 조회 1,366
15년 전 조회 1,509
15년 전 조회 1,413
15년 전 조회 2,140
15년 전 조회 1,286
15년 전 조회 1,344
15년 전 조회 891
15년 전 조회 1,000
15년 전 조회 962
15년 전 조회 929
15년 전 조회 878
15년 전 조회 941
15년 전 조회 1,081
15년 전 조회 1,102
15년 전 조회 2,622
15년 전 조회 948
15년 전 조회 1,602
15년 전 조회 1,469
15년 전 조회 1,597
15년 전 조회 1,300
15년 전 조회 1,789
15년 전 조회 605
15년 전 조회 1,096
15년 전 조회 1,062
15년 전 조회 2,856
15년 전 조회 3,173
15년 전 조회 1,847
15년 전 조회 1,352
15년 전 조회 1,973
15년 전 조회 1,476
15년 전 조회 1,080
15년 전 조회 3,776
15년 전 조회 1,420
15년 전 조회 1,514
15년 전 조회 2,742
15년 전 조회 1,439
15년 전 조회 4,166
15년 전 조회 2,380
15년 전 조회 3,156
15년 전 조회 1,773
15년 전 조회 2,002
15년 전 조회 1,304
15년 전 조회 4,381
15년 전 조회 3,957
15년 전 조회 3,782
15년 전 조회 5,197
15년 전 조회 3,421
15년 전 조회 1,800
15년 전 조회 1,760
15년 전 조회 1,905
15년 전 조회 1,598
15년 전 조회 3,998
15년 전 조회 2,910
15년 전 조회 2,092
15년 전 조회 1,673
15년 전 조회 1,908
15년 전 조회 2,390
15년 전 조회 1,470
15년 전 조회 2,406
15년 전 조회 1,739
15년 전 조회 1,839
15년 전 조회 1,493
15년 전 조회 2,176
15년 전 조회 1,510
15년 전 조회 1,925
16년 전 조회 2,115
16년 전 조회 1,188
16년 전 조회 1,254
16년 전 조회 1,902
16년 전 조회 5,342
16년 전 조회 1,641
16년 전 조회 2,152
16년 전 조회 2,350
16년 전 조회 1,505
16년 전 조회 1,310
16년 전 조회 2,226
16년 전 조회 4,938
16년 전 조회 2,214
16년 전 조회 2,870
16년 전 조회 1,754
16년 전 조회 3,606
16년 전 조회 4,444
16년 전 조회 3,108
16년 전 조회 2,354
16년 전 조회 2,438
16년 전 조회 2,686
16년 전 조회 2,174
16년 전 조회 5,515
16년 전 조회 3,372
16년 전 조회 1,363
🐛 버그신고