수행시간 체크

· 15년 전 · 1768
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,631
15년 전 조회 2,516
15년 전 조회 5,502
15년 전 조회 1,471
15년 전 조회 4,232
15년 전 조회 1,363
15년 전 조회 1,657
15년 전 조회 1,625
15년 전 조회 1,614
15년 전 조회 1,118
15년 전 조회 1,363
15년 전 조회 1,507
15년 전 조회 1,408
15년 전 조회 2,136
15년 전 조회 1,282
15년 전 조회 1,341
15년 전 조회 886
15년 전 조회 997
15년 전 조회 960
15년 전 조회 924
15년 전 조회 871
15년 전 조회 935
15년 전 조회 1,075
15년 전 조회 1,100
15년 전 조회 2,617
15년 전 조회 943
15년 전 조회 1,598
15년 전 조회 1,464
15년 전 조회 1,591
15년 전 조회 1,297
15년 전 조회 1,786
15년 전 조회 604
15년 전 조회 1,089
15년 전 조회 1,059
15년 전 조회 2,850
15년 전 조회 3,169
15년 전 조회 1,839
15년 전 조회 1,350
15년 전 조회 1,968
15년 전 조회 1,471
15년 전 조회 1,076
15년 전 조회 3,771
15년 전 조회 1,412
15년 전 조회 1,509
15년 전 조회 2,741
15년 전 조회 1,435
15년 전 조회 4,160
15년 전 조회 2,374
15년 전 조회 3,150
15년 전 조회 1,769
15년 전 조회 1,998
15년 전 조회 1,299
15년 전 조회 4,374
15년 전 조회 3,956
15년 전 조회 3,778
15년 전 조회 5,192
15년 전 조회 3,416
15년 전 조회 1,795
15년 전 조회 1,754
15년 전 조회 1,900
15년 전 조회 1,595
15년 전 조회 3,993
15년 전 조회 2,905
15년 전 조회 2,089
15년 전 조회 1,667
15년 전 조회 1,904
15년 전 조회 2,383
15년 전 조회 1,467
15년 전 조회 2,399
15년 전 조회 1,735
15년 전 조회 1,835
15년 전 조회 1,490
15년 전 조회 2,175
15년 전 조회 1,504
15년 전 조회 1,922
16년 전 조회 2,112
16년 전 조회 1,186
16년 전 조회 1,251
16년 전 조회 1,897
16년 전 조회 5,337
16년 전 조회 1,635
16년 전 조회 2,147
16년 전 조회 2,347
16년 전 조회 1,498
16년 전 조회 1,307
16년 전 조회 2,221
16년 전 조회 4,935
16년 전 조회 2,210
16년 전 조회 2,867
16년 전 조회 1,748
16년 전 조회 3,598
16년 전 조회 4,439
16년 전 조회 3,105
16년 전 조회 2,351
16년 전 조회 2,433
16년 전 조회 2,682
16년 전 조회 2,170
16년 전 조회 5,509
16년 전 조회 3,365
16년 전 조회 1,359
🐛 버그신고