수행시간 체크

· 15년 전 · 2001
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,875
15년 전 조회 2,784
15년 전 조회 5,780
15년 전 조회 1,720
15년 전 조회 4,511
15년 전 조회 1,612
15년 전 조회 1,882
15년 전 조회 1,867
15년 전 조회 1,855
15년 전 조회 1,352
15년 전 조회 1,598
15년 전 조회 1,739
15년 전 조회 1,645
15년 전 조회 2,354
15년 전 조회 1,523
15년 전 조회 1,629
15년 전 조회 1,122
15년 전 조회 1,217
15년 전 조회 1,210
15년 전 조회 1,169
15년 전 조회 1,097
15년 전 조회 1,153
15년 전 조회 1,309
15년 전 조회 1,337
15년 전 조회 2,858
15년 전 조회 1,164
15년 전 조회 1,831
15년 전 조회 1,708
15년 전 조회 1,829
15년 전 조회 1,530
15년 전 조회 2,032
15년 전 조회 843
15년 전 조회 1,310
15년 전 조회 1,288
15년 전 조회 3,061
15년 전 조회 3,443
15년 전 조회 2,110
15년 전 조회 1,572
15년 전 조회 2,197
15년 전 조회 1,689
15년 전 조회 1,307
15년 전 조회 3,991
15년 전 조회 1,653
15년 전 조회 1,733
15년 전 조회 3,006
15년 전 조회 1,693
15년 전 조회 4,396
15년 전 조회 2,594
15년 전 조회 3,368
15년 전 조회 2,002
15년 전 조회 2,241
15년 전 조회 1,520
15년 전 조회 4,581
15년 전 조회 4,229
15년 전 조회 4,026
15년 전 조회 5,420
15년 전 조회 3,665
15년 전 조회 2,021
15년 전 조회 1,963
15년 전 조회 2,111
16년 전 조회 1,820
16년 전 조회 4,246
16년 전 조회 3,142
16년 전 조회 2,299
16년 전 조회 1,895
16년 전 조회 2,097
16년 전 조회 2,608
16년 전 조회 1,681
16년 전 조회 2,605
16년 전 조회 1,935
16년 전 조회 2,062
16년 전 조회 1,712
16년 전 조회 2,396
16년 전 조회 1,725
16년 전 조회 2,149
16년 전 조회 2,323
16년 전 조회 1,411
16년 전 조회 1,471
16년 전 조회 2,120
16년 전 조회 5,546
16년 전 조회 1,852
16년 전 조회 2,355
16년 전 조회 2,552
16년 전 조회 1,717
16년 전 조회 1,505
16년 전 조회 2,433
16년 전 조회 5,139
16년 전 조회 2,406
16년 전 조회 3,073
16년 전 조회 1,943
16년 전 조회 3,809
16년 전 조회 4,653
16년 전 조회 3,291
16년 전 조회 2,540
16년 전 조회 2,627
16년 전 조회 2,865
16년 전 조회 2,376
16년 전 조회 5,744
16년 전 조회 3,568
16년 전 조회 1,567