수행시간 체크

· 15년 전 · 2189
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,054
15년 전 조회 2,944
15년 전 조회 5,944
15년 전 조회 1,905
15년 전 조회 4,664
15년 전 조회 1,784
15년 전 조회 2,044
15년 전 조회 2,045
15년 전 조회 2,038
15년 전 조회 1,525
15년 전 조회 1,769
15년 전 조회 1,910
15년 전 조회 1,843
15년 전 조회 2,529
15년 전 조회 1,699
15년 전 조회 1,796
15년 전 조회 1,295
15년 전 조회 1,393
15년 전 조회 1,390
15년 전 조회 1,347
15년 전 조회 1,294
15년 전 조회 1,338
15년 전 조회 1,477
15년 전 조회 1,519
15년 전 조회 3,012
15년 전 조회 1,342
15년 전 조회 2,001
15년 전 조회 1,880
15년 전 조회 2,013
15년 전 조회 1,709
15년 전 조회 2,217
15년 전 조회 1,032
15년 전 조회 1,492
15년 전 조회 1,469
15년 전 조회 3,257
15년 전 조회 3,603
15년 전 조회 2,280
15년 전 조회 1,763
15년 전 조회 2,371
15년 전 조회 1,860
15년 전 조회 1,484
15년 전 조회 4,173
15년 전 조회 1,827
15년 전 조회 1,910
15년 전 조회 3,175
15년 전 조회 1,864
15년 전 조회 4,569
15년 전 조회 2,766
15년 전 조회 3,548
15년 전 조회 2,190
15년 전 조회 2,423
15년 전 조회 1,703
15년 전 조회 4,760
15년 전 조회 4,391
16년 전 조회 4,192
16년 전 조회 5,603
16년 전 조회 3,835
16년 전 조회 2,186
16년 전 조회 2,151
16년 전 조회 2,298
16년 전 조회 2,000
16년 전 조회 4,410
16년 전 조회 3,331
16년 전 조회 2,485
16년 전 조회 2,086
16년 전 조회 2,280
16년 전 조회 2,782
16년 전 조회 1,856
16년 전 조회 2,784
16년 전 조회 2,115
16년 전 조회 2,245
16년 전 조회 1,885
16년 전 조회 2,600
16년 전 조회 1,895
16년 전 조회 2,316
16년 전 조회 2,484
16년 전 조회 1,582
16년 전 조회 1,642
16년 전 조회 2,291
16년 전 조회 5,704
16년 전 조회 2,026
16년 전 조회 2,537
16년 전 조회 2,727
16년 전 조회 1,887
16년 전 조회 1,662
16년 전 조회 2,593
16년 전 조회 5,315
16년 전 조회 2,579
16년 전 조회 3,252
16년 전 조회 2,106
16년 전 조회 3,992
16년 전 조회 4,809
16년 전 조회 3,443
16년 전 조회 2,700
16년 전 조회 2,814
16년 전 조회 3,030
16년 전 조회 2,573
16년 전 조회 5,903
16년 전 조회 3,736
16년 전 조회 1,715