IMCAT.DEV
로그인 가입
PHP 입문 도구

PHP 파일 입출력 기초

PHP 파일 입출력 기초 — 초급

파일 입출력 기초

1. 도입 (왜 배워야 하는가)

파일 입출력은 프로그래밍에서 데이터를 저장하고 읽어오는 기본적인 작업입니다. 실무에서 우리는 종종 사용자 데이터를 저장하거나 로그 파일을 작성해야 할 때가 있습니다. 이러한 기능이 없다면, 앱이 종료될 때마다 모든 데이터가 사라져 버리거나, 사용자 요청에 대한 기록이 남지 않아 문제를 추적하기 어려워질 수 있습니다.

예를 들어, 쇼핑몰 웹사이트에서 사용자가 장바구니에 담은 상품 정보를 저장하지 않는다면, 사용자가 페이지를 새로 고침하거나 로그아웃 할 경우 모든 정보가 사라져 사용자 경험이 나빠질 것입니다. 따라서 파일 입출력은 데이터를 영속적으로 저장할 수 있는 중요한 방법입니다.

2. 핵심 개념 설명

파일 입출력

파일 입출력(File I/O)은 파일을 읽고 쓰는 작업을 말합니다. 데이터를 파일에 저장하는 것을 '쓰기', 파일에서 데이터를 가져오는 것을 '읽기'라고 합니다.

비유

파일 입출력을 도서관에 비유할 수 있습니다. 도서관에 책(데이터)을 저장하고, 필요할 때마다 그 책을 대출(읽기)하거나 반납(쓰기)하는 것과 같습니다.

관련 용어 정리

용어설명
fopen파일을 열기 위한 함수
fwrite파일에 데이터를 쓰기 위한 함수
fread파일에서 데이터를 읽기 위한 함수
fclose열린 파일을 닫기 위한 함수
파일 핸들fopen으로 열었을 때 반환되는 파일 식별자

3. 기본 코드 예제

파일을 생성하고 데이터를 쓰는 간단한 예제를 살펴보겠습니다.

<?php
// 'example.txt'라는 파일을 쓰기 모드로 엽니다. 
$file = fopen('example.txt', 'w'); 

// 파일에 문자열을 씁니다.
fwrite($file, "안녕하세요, PHP 파일 입출력입니다!");

// 파일을 닫습니다.
fclose($file);
?>

실행 결과

  • example.txt라는 파일이 생성되고, 파일 안에 "안녕하세요, PHP 파일 입출력입니다!"라는 내용이 저장됩니다.
  • 코드 한 줄씩 동작 설명

    1. fopen('example.txt', 'w'): example.txt 파일을 쓰기 모드로 엽니다. 파일이 존재하지 않으면 새로 생성됩니다.
    2. fwrite($file, "안녕하세요, PHP 파일 입출력입니다!"): 파일 핸들을 통해 문자열을 파일에 씁니다.
    3. fclose($file): 열린 파일을 닫아 리소스를 해제합니다.
    4. 4. 실전 활용 예제

      예제 1: 로그 파일 작성

      웹 애플리케이션에서는 사용자의 행동을 추적하기 위해 로그 파일을 작성할 수 있습니다.

      <?php
      $logFile = fopen('log.txt', 'a'); // 'a' 모드로 파일 열기 (추가 모드)
      fwrite($logFile, date('Y-m-d H:i:s') . " - 사용자가 페이지를 방문했습니다.\n");
      fclose($logFile);
      ?>

      이 코드는 사용자가 페이지를 방문할 때마다 현재 시간과 함께 로그를 기록합니다.

      예제 2: 사용자 데이터 저장

      간단한 사용자 정보를 파일에 저장하는 예제입니다.

      <?php
      $userData = "이름: 홍길동\n나이: 25\n";
      $file = fopen('user_data.txt', 'w');
      fwrite($file, $userData);
      fclose($file);
      ?>

      이 코드는 사용자의 이름과 나이를 user_data.txt 파일에 저장합니다.

      5. 흔한 실수와 주의사항

      실수 1: 파일 경로 오류

      잘못된 파일 경로를 지정하면 파일을 열 수 없습니다.

      잘못된 코드

      $file = fopen('non_existent_folder/example.txt', 'w'); // 존재하지 않는 폴더

      올바른 코드

      $file = fopen('example.txt', 'w'); // 현재 디렉토리에 생성

      실수 2: 파일을 닫지 않음

      파일을 열고 닫지 않으면 메모리 누수와 같은 문제가 발생할 수 있습니다.

      잘못된 코드

      $file = fopen('example.txt', 'w'); 
      // fclose($file); 호출하지 않음

      올바른 코드

      $file = fopen('example.txt', 'w'); 
      fclose($file); // 꼭 파일을 닫아야 함

      6. 정리

    5. 파일 입출력은 데이터를 영속적으로 저장하는 기본 기술입니다.
    6. 파일을 열고, 데이터를 쓰고, 닫는 과정을 통해 파일을 관리합니다.
    7. 파일 경로를 정확히 지정하고, 파일을 사용한 후 반드시 닫아야 합니다.

다음에 학습하면 좋은 주제는 파일 읽기와 CSV 파일 입출력입니다. 이 주제들은 데이터를 효과적으로 다루는 데 중요한 기술입니다.