수행시간 체크

· 15년 전 · 1977
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,853
15년 전 조회 2,764
15년 전 조회 5,762
15년 전 조회 1,695
15년 전 조회 4,486
15년 전 조회 1,578
15년 전 조회 1,863
15년 전 조회 1,846
15년 전 조회 1,834
15년 전 조회 1,329
15년 전 조회 1,575
15년 전 조회 1,717
15년 전 조회 1,625
15년 전 조회 2,337
15년 전 조회 1,497
15년 전 조회 1,597
15년 전 조회 1,100
15년 전 조회 1,200
15년 전 조회 1,187
15년 전 조회 1,148
15년 전 조회 1,067
15년 전 조회 1,135
15년 전 조회 1,290
15년 전 조회 1,304
15년 전 조회 2,835
15년 전 조회 1,138
15년 전 조회 1,805
15년 전 조회 1,685
15년 전 조회 1,802
15년 전 조회 1,503
15년 전 조회 2,008
15년 전 조회 828
15년 전 조회 1,292
15년 전 조회 1,269
15년 전 조회 3,038
15년 전 조회 3,419
15년 전 조회 2,081
15년 전 조회 1,546
15년 전 조회 2,176
15년 전 조회 1,667
15년 전 조회 1,281
15년 전 조회 3,965
15년 전 조회 1,630
15년 전 조회 1,711
15년 전 조회 2,984
15년 전 조회 1,669
15년 전 조회 4,377
15년 전 조회 2,568
15년 전 조회 3,346
15년 전 조회 1,978
15년 전 조회 2,217
15년 전 조회 1,505
15년 전 조회 4,563
15년 전 조회 4,204
15년 전 조회 4,007
15년 전 조회 5,401
15년 전 조회 3,634
15년 전 조회 2,004
15년 전 조회 1,952
15년 전 조회 2,092
16년 전 조회 1,794
16년 전 조회 4,215
16년 전 조회 3,122
16년 전 조회 2,270
16년 전 조회 1,870
16년 전 조회 2,078
16년 전 조회 2,584
16년 전 조회 1,658
16년 전 조회 2,586
16년 전 조회 1,916
16년 전 조회 2,034
16년 전 조회 1,686
16년 전 조회 2,376
16년 전 조회 1,692
16년 전 조회 2,122
16년 전 조회 2,307
16년 전 조회 1,387
16년 전 조회 1,443
16년 전 조회 2,097
16년 전 조회 5,521
16년 전 조회 1,827
16년 전 조회 2,333
16년 전 조회 2,530
16년 전 조회 1,695
16년 전 조회 1,479
16년 전 조회 2,406
16년 전 조회 5,119
16년 전 조회 2,381
16년 전 조회 3,052
16년 전 조회 1,918
16년 전 조회 3,782
16년 전 조회 4,627
16년 전 조회 3,273
16년 전 조회 2,512
16년 전 조회 2,604
16년 전 조회 2,850
16년 전 조회 2,358
16년 전 조회 5,726
16년 전 조회 3,545
16년 전 조회 1,546