BOARD

강좌·기초

PHP 파일 입출력을 활용한 간단한 방문자 카운터 구현

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 28회 작성일 26-09-16 18:54

본문

PHP 파일 입출력을 활용한 간단한 방문자 카운터 구현

그누보드를 운영하는 사용자가 쿠키 없이 PHP 파일 입출력만으로 오늘 방문자와 총 방문자를 기록하는 카운터를 안전하게 설치하고 점검하는 방법을 알아봅니다.

방문자 카운터 파일 및 권한 설정 방법

PHP 파일 입출력을 활용한 방문자 카운터를 구현하려면 서버에 데이터를 기록할 텍스트 파일을 생성하고 적절한 권한을 부여해야 합니다.

1. 파일 생성

  • 서버에 happy_counter.txt 텍스트 파일을 생성합니다.
  • 작업 전 기존에 존재하는 텍스트 파일이 있다면 반드시 백업을 수행해야 합니다.
  • 파일 내부에는 초기 데이터로 0,0,2023-01-01과 같이 '오늘방문수,총방문수,기준날짜' 형식을 쉼표로 구분하여 입력해 두어야 PHP가 파일을 읽을 때 오류가 발생하지 않습니다.

2. 권한(퍼미션) 설정

  • 생성한 happy_counter.txt 파일의 권한을 777로 설정하여 PHP가 파일을 읽고 쓸 수 있도록 합니다.
  • 파일 권한을 777로 설정하는 방식은 보안상 취약할 수 있으므로 운영 환경에 따라 적절한 권한 관리가 필요합니다.

PHP 방문자 카운터 구현 방법

PHP 파일 입출력을 활용하여 오늘 방문자와 총 방문자 수를 계산하고 출력하는 구현 코드와 적용 절차입니다.

1. 준비 사항

작업 전 기존에 존재하는 텍스트 파일이 있다면 반드시 백업을 수행해야 합니다. 서버에 happy_counter.txt 파일을 생성하고, PHP가 파일을 읽고 쓸 수 있도록 해당 파일의 권한(퍼미션)을 777로 설정합니다.

2. 구현 코드 적용

방문자 카운터를 출력할 PHP 페이지에 아래의 코드를 삽입합니다.

<?php 
$Tday = date("Y-m-d"); 
$file_data = file("happy_counter.txt"); 
$file_data = explode(",",$file_data[0]); 
$count_today = $file_data[0]; 
$count_total = $file_data[1]; 
$date = $file_data[2]; 
if($Tday > $date) { 
    $count_today = 1; 
    $count_total = $count_total + 1; 
    $date = $Tday; 
} else { 
    $count_today = $count_today + 1; 
    $count_total = $count_total + 1; 
} 
$fp = fopen("happy_counter.txt","w"); 
if(!$fp) {
    echo "실행을 위해 필요한 텍스트 파일을 열 수 없습니다."; 
} 
$str = "$count_today,$count_total,$date"; 
fwrite($fp,$str); 
fclose($fp); 
echo "오늘방문 : $count_today 총방문 : $count_total"; 
?>

3. 동작 확인 및 주의 사항

코드를 적용한 페이지를 브라우저에서 새로고침하여 오늘 방문 수와 총 방문 수가 정상적으로 증가하는지 확인합니다. 파일 기반으로 동작하므로 다수 사용자가 동시에 접속할 때 파일 쓰기 충돌이 발생할 수 있으며, 퍼미션 777 설정은 보안상 취약할 수 있으므로 운영 환경에 맞춘 권한 관리가 필요합니다. 카운터가 정상 작동하지 않거나 파일이 손상된 경우 백업해 둔 happy_counter.txt 파일을 다시 업로드하여 복구합니다.

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.