본문 바로가기
낙서장/php홈페이지 만들기

파일 카운터 스터디

by "뭉치" 2021. 8. 13.
728x90

이런 굉장한 방법이 이따니!

 

index.php 있는 폴더에 counter.txt 라는 파일을 만들어서 

그냥 숫자 0이라는 데이터만 입력한 후.

 

counter.php 라는 이름의 파일을 생성.

아래와 같이 입력후 

 

 

http://localhost/counter.php 하니까능!!!

그냥 카운터가 되네요 ㅎㅎ 베리굿.

 

 

 

  • $read = file("counter.txt");
    먼저 2행을 보면 counter.txt라는 파일을 읽어들여서 그 내용을 $read라는 변수에 집어 넣으라는 뜻입니다. 
    여러 줄의 내용이 있더라도 모두 불러들여 $read라는 변수에 저장을 합니다. 따라서 $read 변수는 여러 줄의 내용을 저장하기 위한 배열 변수가 됩니다. 즉 첫째 줄의 내용은 $read[0]에 저장되고 둘째 줄의 내용은 $read[1], 그리고 순서대로 $read[2], $read[3]...에 저장되게 됩니다.
    그러나 이 실습에서는 0이라는 숫자 하나만 달랑 $read[0] 저장되겠죠.
  • $count = trim($read[0]);
    3행을 보면, $read 변수에 저장된 내용 중에서 첫 번째 줄의 내용을 좌우 모든 공백을 잘라내어 다시 $count라는 변수에 저장한다는 뜻입니다.
    trim() 함수는 대부분의 프로그래밍 언어에서 공통으로 사용되는 함수입니다. 좌우 공백을 잘라내고 순수하게 텍스트만 가져오죠.
  • $sum_count = $count + 1;
    4행을 보면 3행의 $count 에 1을 더한 다음 $sum_count 변수에 저장을 합니다. 여기에 만약 1 대신 3을 쓰면, counter.txt 파일을 한번 읽을 때마다 숫자가 3씩 증가하게 됩니다.
  • $fp = fopen("counter.txt", "w");
    6행에서는 이제 파일을 열게 됩니다.
    2행에서 file("counter.txt") 한 것과는 다릅니다. 2행에서는 단순히 내용을 읽어들여서 저장하기 위한 함수이고
    6행의 fopne() 함수는 어떠한 작업을 위해서 파일을 읽어들일 때 쓰는 함수입니다. 
    6행에서는 파일을 쓰기 모드로 열었습니다. 그리고 쓰기 모드로 연 counter.txt 파일의 이름을 $fp로 지정하였습니다.
    위에서 w 가 쓰기 모드라는 뜻입니다. 만약 w 대신 a를 쓰면 추가(append) 모드로 열리고, r을 쓰면 읽기(read) 모드로 열립니다.
    counter.txt에 기록된 숫자를 새롭게 바꾸어야되기 때문에 w 모드로 열었습니다. 만약 기존의 내용은 그대로 두고 그 아래에 한 줄 더 추가하려면 a 모드로 열면 됩니다.
    이렇게 열어놓은 파일은 반드시 닫아 주어야 하는데, 
    8행에서 fclose($fp); 로 닫아줍니다.
  • fwrite($fp, $sum_count);
    7행에서 fwrite() 함수를 이용해 파일에 데이터를 씁니다.
    $fp에 $sum_count를 쓰라는 뜻이죠.
  • echo "당신은 $sum_count 번째 방문자입니다.";
    마지막으로 10행에서 $sum_count를 출력합니다.
    10행에서는 화면에 표시하고 7행에서는 counter.txt 파일에 기록합니다. 그래야 다음에 counter.txt에 기록된 숫자에 1을 더해 다시 출력하니까요.  
  •  
  • 출처 http://www.itmembers.net 손병목

 

728x90

댓글