수행시간 체크

· 15년 전 · 2248
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,137
15년 전 조회 3,018
15년 전 조회 6,026
15년 전 조회 1,968
15년 전 조회 4,750
15년 전 조회 1,846
15년 전 조회 2,132
15년 전 조회 2,131
15년 전 조회 2,109
15년 전 조회 1,593
15년 전 조회 1,856
15년 전 조회 1,969
15년 전 조회 1,930
15년 전 조회 2,630
15년 전 조회 1,774
15년 전 조회 1,866
15년 전 조회 1,368
15년 전 조회 1,466
15년 전 조회 1,478
15년 전 조회 1,407
15년 전 조회 1,371
15년 전 조회 1,408
15년 전 조회 1,570
15년 전 조회 1,577
15년 전 조회 3,079
15년 전 조회 1,413
15년 전 조회 2,075
15년 전 조회 1,926
15년 전 조회 2,079
15년 전 조회 1,786
15년 전 조회 2,282
15년 전 조회 1,077
15년 전 조회 1,584
15년 전 조회 1,552
15년 전 조회 3,342
15년 전 조회 3,680
15년 전 조회 2,376
15년 전 조회 1,836
15년 전 조회 2,442
15년 전 조회 1,937
15년 전 조회 1,554
15년 전 조회 4,239
15년 전 조회 1,892
15년 전 조회 1,985
15년 전 조회 3,246
15년 전 조회 1,940
15년 전 조회 4,648
15년 전 조회 2,844
15년 전 조회 3,643
15년 전 조회 2,249
15년 전 조회 2,480
15년 전 조회 1,783
15년 전 조회 4,852
15년 전 조회 4,465
16년 전 조회 4,259
16년 전 조회 5,679
16년 전 조회 3,901
16년 전 조회 2,257
16년 전 조회 2,211
16년 전 조회 2,371
16년 전 조회 2,064
16년 전 조회 4,496
16년 전 조회 3,397
16년 전 조회 2,561
16년 전 조회 2,151
16년 전 조회 2,362
16년 전 조회 2,863
16년 전 조회 1,951
16년 전 조회 2,871
16년 전 조회 2,194
16년 전 조회 2,317
16년 전 조회 1,945
16년 전 조회 2,663
16년 전 조회 1,971
16년 전 조회 2,397
16년 전 조회 2,568
16년 전 조회 1,635
16년 전 조회 1,704
16년 전 조회 2,380
16년 전 조회 5,792
16년 전 조회 2,101
16년 전 조회 2,630
16년 전 조회 2,807
16년 전 조회 1,964
16년 전 조회 1,750
16년 전 조회 2,665
16년 전 조회 5,394
16년 전 조회 2,653
16년 전 조회 3,316
16년 전 조회 2,186
16년 전 조회 4,072
16년 전 조회 4,871
16년 전 조회 3,519
16년 전 조회 2,774
16년 전 조회 2,893
16년 전 조회 3,104
16년 전 조회 2,624
16년 전 조회 5,969
16년 전 조회 3,796
16년 전 조회 1,794