수행시간 체크

· 15년 전 · 2045
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,914
15년 전 조회 2,836
15년 전 조회 5,838
15년 전 조회 1,758
15년 전 조회 4,570
15년 전 조회 1,654
15년 전 조회 1,925
15년 전 조회 1,902
15년 전 조회 1,892
15년 전 조회 1,388
15년 전 조회 1,636
15년 전 조회 1,785
15년 전 조회 1,690
15년 전 조회 2,402
15년 전 조회 1,564
15년 전 조회 1,687
15년 전 조회 1,164
15년 전 조회 1,265
15년 전 조회 1,250
15년 전 조회 1,209
15년 전 조회 1,149
15년 전 조회 1,199
15년 전 조회 1,343
15년 전 조회 1,379
15년 전 조회 2,886
15년 전 조회 1,210
15년 전 조회 1,871
15년 전 조회 1,750
15년 전 조회 1,866
15년 전 조회 1,573
15년 전 조회 2,069
15년 전 조회 883
15년 전 조회 1,349
15년 전 조회 1,330
15년 전 조회 3,105
15년 전 조회 3,492
15년 전 조회 2,178
15년 전 조회 1,616
15년 전 조회 2,236
15년 전 조회 1,727
15년 전 조회 1,351
15년 전 조회 4,039
15년 전 조회 1,702
15년 전 조회 1,775
15년 전 조회 3,065
15년 전 조회 1,757
15년 전 조회 4,432
15년 전 조회 2,635
15년 전 조회 3,414
15년 전 조회 2,046
15년 전 조회 2,275
15년 전 조회 1,557
15년 전 조회 4,623
15년 전 조회 4,277
15년 전 조회 4,076
15년 전 조회 5,462
15년 전 조회 3,703
15년 전 조회 2,066
15년 전 조회 2,015
16년 전 조회 2,158
16년 전 조회 1,856
16년 전 조회 4,302
16년 전 조회 3,188
16년 전 조회 2,355
16년 전 조회 1,938
16년 전 조회 2,145
16년 전 조회 2,649
16년 전 조회 1,724
16년 전 조회 2,646
16년 전 조회 1,973
16년 전 조회 2,105
16년 전 조회 1,756
16년 전 조회 2,446
16년 전 조회 1,775
16년 전 조회 2,193
16년 전 조회 2,355
16년 전 조회 1,444
16년 전 조회 1,513
16년 전 조회 2,160
16년 전 조회 5,579
16년 전 조회 1,883
16년 전 조회 2,404
16년 전 조회 2,602
16년 전 조회 1,756
16년 전 조회 1,544
16년 전 조회 2,464
16년 전 조회 5,176
16년 전 조회 2,453
16년 전 조회 3,117
16년 전 조회 1,983
16년 전 조회 3,855
16년 전 조회 4,691
16년 전 조회 3,335
16년 전 조회 2,576
16년 전 조회 2,667
16년 전 조회 2,912
16년 전 조회 2,417
16년 전 조회 5,802
16년 전 조회 3,609
16년 전 조회 1,600