PHP로 카운터 만들기

2022.07.20 18:00

졸리운_곰 조회 수:0

PHP로 카운터 만들기



많은 문제점이 있는 카운터지만 그래도 잘돌아가니 그냥 쓰쎠도 문제 없을 겁니다.
그냥 주석으로만 설명 하겠습니다.

01 <?php // 아시죠.. PHP의 시작을 알립니다.
02 $DataFile="counter.data"// 햔재 디렉토리의 counter.data 에 저장을 합니다.
03 if(file_exists($DataFile)) //counter.data파일이 있나 검사를 합니다 있으면 다음을 시작합시다.
04 {
05     $fp=fopen($DataFile'r'); // 파일을 열고
06     $buffer=fread($fp,filesize($DataFile)); //파일을 읽어 들입니다.
07     fclose($fp); //읽은 파일을 닫아야죠..
08     $Temp=explode("|",$buffer); //파일을 |를 기준으로 나눕니다.
09     $Count=intval($Temp[0]); // 앞쪽에 있는[0]을 Count에 저장
10     $LastIP=$Temp[1]; // 중간에 있는 [1]을 LastIP에 저장
11     $Time=intval($Temp[2]); // 마지막 [2]을 Time에 저장합니다.
12 else {
13     $Count=0; //만약 파일이 없으면 Count는 기본적으로 0으로
14 }
15  
16 $GetIP=getenv("REMOTE_ADDR"); //현재 접속자의 IP를 읽어 옵니다.
17  
18 $AccessTime=$Time+900; //이건 전에 접속한 사용자의 시간에 900초 (15분)을 더합니다.
19 $CurrentTime=time(); //현재 시간을 저장합니다.
20  
21 if(($GetIP != $LastIP) || ($CurrentTime>$AccessTime)) //만약 바로전에 접속한 IP가 현제 접속한 IP와
22 //다르면 숫자1증가 또는 같은 IP라도 시간이 15분경과하면
23     $Count=$Count+1; //카운터 증가
24 }
25  
26 $LastIP=getenv("REMOTE_ADDR"); //현재 접속자 IP저장 이것이 다음번에 마지막 접속자 IP가 됨
27 $LastTime=time(); //현재 시간 저장 이것이 다음번에 마지막 접속 시간이 됩니다.
28 $fp=fopen($DataFile,'w');
29 fwrite($fp,$Count."|".$LastIP."|".$LastTime); // |를 구분으로 counter.data에 3가지 항목을 저장
30 fclose($fp); //물론 파일을 닫아 주고
31  
32 $time=getlastmod(); //날짜를 읽어옴
33 $UpDate=date('Y/m/d',$time); //날짜를 제가 표시한 XXXX/XX/XX형식으로 저장
34  
35 echo "<font face="굴림체" size="2" color="olive">마지막수정일  : $UpDate</font><br>";
36 echo "<font face="굴림체" size="2" color="olive">놀러오신분    : $Count</font>";
37 echo "<br><font face="굴림체" size="2" color="olive">오신분 IP : $LastIP</font>";
38 ?>



나머지 부분들은 출력 부분입니다. 적당히 조정하시면 됩니다.

한가지 문제점을 찾았는데 counter.data가 퍼미션 읽고 쓰기가 가능해야 한다는 겁니다.

 

[출처] https://yesyo.com/mintbbs/bbs/board.php?bo_table=php&wr_id=34&page=6

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
138 PHP 카운터 만들기-[1] 졸리운_곰 2022.07.20 2
» PHP로 카운터 만들기 졸리운_곰 2022.07.20 0
136 How To Build A Rest API Using PHP file 졸리운_곰 2022.07.15 0
135 PHP REST API Authentication Using JWT file 졸리운_곰 2022.07.15 0
134 [PHP] JWT 구현하기 졸리운_곰 2022.07.15 0
133 [php] Coppermine PHP로 제작된 "웹 갤러리" 프로그램임. 상당히 잘 만들어진 것같아 졸리운_곰 2021.07.04 19
132 [php] imagick php 7.3 windows 설치하기 졸리운_곰 2021.07.04 9
131 [php] simple Rest API : Build a Simple REST API in PHP file 졸리운_곰 2021.05.31 15
130 [php][php 수학][php 수치해석] MathPHP - Powerful Modern Math Library for PHP file 졸리운_곰 2021.05.03 12
129 [Redis] php 세션 저장소를 redis 로 바꾸어 본 후기. file 졸리운_곰 2021.04.11 18
128 Creating a Website Design Templating System Using PHP 졸리운_곰 2021.02.13 17
127 Build a CRUD Operation using PHP & MongoBD 졸리운_곰 2021.01.04 20
126 CRUD Operation using PHP & Mongodb file 졸리운_곰 2021.01.04 23
125 PHP and MongoDB Connection file 졸리운_곰 2021.01.04 47
124 PHP 기반의 Micro Frameworks 정리 졸리운_곰 2020.12.02 31
123 CKEditor 4 설치와 PHP 연동 하기 file 졸리운_곰 2020.11.22 33
122 [php] CKeditor 설정 및 적용 졸리운_곰 2020.11.22 29
121 [PHP]Fuelframework 설치 및 시작 방법(window10,xampp) file 졸리운_곰 2020.10.01 31
120 Building a Simple Blog App with MongoDB and PHP file 졸리운_곰 2020.09.13 44
119 웹 설문조사 시스템 & 설문조사를 잘 하는 방법 file 졸리운_곰 2020.09.10 68
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED