수행시간 체크

· 15년 전 · 1859
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,735
15년 전 조회 2,629
15년 전 조회 5,605
15년 전 조회 1,565
15년 전 조회 4,346
15년 전 조회 1,463
15년 전 조회 1,744
15년 전 조회 1,727
15년 전 조회 1,727
15년 전 조회 1,222
15년 전 조회 1,462
15년 전 조회 1,601
15년 전 조회 1,513
15년 전 조회 2,235
15년 전 조회 1,377
15년 전 조회 1,447
15년 전 조회 992
15년 전 조회 1,081
15년 전 조회 1,068
15년 전 조회 1,024
15년 전 조회 968
15년 전 조회 1,036
15년 전 조회 1,177
15년 전 조회 1,189
15년 전 조회 2,719
15년 전 조회 1,027
15년 전 조회 1,694
15년 전 조회 1,554
15년 전 조회 1,694
15년 전 조회 1,390
15년 전 조회 1,888
15년 전 조회 697
15년 전 조회 1,182
15년 전 조회 1,157
15년 전 조회 2,938
15년 전 조회 3,269
15년 전 조회 1,941
15년 전 조회 1,444
15년 전 조회 2,057
15년 전 조회 1,576
15년 전 조회 1,168
15년 전 조회 3,871
15년 전 조회 1,508
15년 전 조회 1,602
15년 전 조회 2,837
15년 전 조회 1,529
15년 전 조회 4,260
15년 전 조회 2,463
15년 전 조회 3,238
15년 전 조회 1,860
15년 전 조회 2,095
15년 전 조회 1,390
15년 전 조회 4,464
15년 전 조회 4,056
15년 전 조회 3,877
15년 전 조회 5,291
15년 전 조회 3,520
15년 전 조회 1,895
15년 전 조회 1,841
15년 전 조회 1,975
15년 전 조회 1,688
15년 전 조회 4,088
15년 전 조회 3,010
15년 전 조회 2,171
16년 전 조회 1,764
16년 전 조회 1,986
16년 전 조회 2,482
16년 전 조회 1,557
16년 전 조회 2,494
16년 전 조회 1,818
16년 전 조회 1,926
16년 전 조회 1,572
16년 전 조회 2,281
16년 전 조회 1,597
16년 전 조회 2,017
16년 전 조회 2,205
16년 전 조회 1,267
16년 전 조회 1,338
16년 전 조회 1,992
16년 전 조회 5,422
16년 전 조회 1,726
16년 전 조회 2,250
16년 전 조회 2,443
16년 전 조회 1,596
16년 전 조회 1,386
16년 전 조회 2,315
16년 전 조회 5,027
16년 전 조회 2,299
16년 전 조회 2,955
16년 전 조회 1,837
16년 전 조회 3,682
16년 전 조회 4,529
16년 전 조회 3,181
16년 전 조회 2,433
16년 전 조회 2,531
16년 전 조회 2,765
16년 전 조회 2,263
16년 전 조회 5,608
16년 전 조회 3,453
16년 전 조회 1,447