PHP 마법 학교 18기 2강: 과거의 나를 만나다! ‘파일 읽기 마법: 내가 쓴 일기 다시 불러오기’

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 어제 file_put_contents 주문을 사용해 ‘비밀 일기장’ 파일에 소중한 추억을 기록하는 법을 배웠죠? 오늘은 파일 속에 잠들어 있는 글자들을 깨워 화면으로 가져오는 ‘파일 읽기(File Read) 마법’을 배워보겠습니다!

PHP 마법 학교 18기 2강: 과거의 나를 만나다! '파일 읽기 마법: 내가 쓴 일기 다시 불러오기'

1. 파일 읽기 마법이란? “잠든 글자들을 깨워요”

파일에 글을 저장하는 것이 보물 상자에 보물을 넣는 것이라면, 파일 읽기는 그 상자를 열어 내용물을 확인하는 과정이에요. PHP의 file_get_contents 주문을 외우면 지정한 파일의 모든 내용을 한 번에 읽어올 수 있고, nl2br이라는 보조 마법을 쓰면 일기장에 쓴 줄바꿈까지 그대로 화면에 살려낼 수 있답니다.

2. 저장된 일기 목록 불러오기 (코드)

어제 만들었던 diary.txt 파일을 읽어서 화면에 예쁘게 출력해 봅시다. 사용자님이 개발 중인 ‘EduPad’에서 아이가 이전에 적었던 오답 노트나 일기를 다시 보여줄 때 이 마법이 아주 유용하게 쓰일 거예요!

<?php
// diary_read.php: 저장된 추억을 불러오는 마법
session_start();

$file = "diary.txt";
$content = "";

// 1. 파일이 존재하는지 먼저 확인해요 (안전 장치!)
if (file_exists($file)) {
    // 2. 파일의 내용을 통째로 읽어옵니다
    $raw_text = file_get_contents($file);
    
    // 3. 줄바꿈(\n)을 브라우저용 줄바꿈(<br>)으로 바꿔줘요
    $content = nl2br(htmlspecialchars($raw_text));
} else {
    $content = "아직 기록된 추억이 없어요. 첫 일기를 써보세요!";
}
?>

<!DOCTYPE html>
<html>
<head>
  <style>
    .viewer-box { max-width: 500px; margin: 40px auto; padding: 30px; background: #fdfcf0; border: 2px solid #d4a373; border-radius: 20px; position: relative; }
    .viewer-box::before { content: '📖'; position: absolute; top: -20px; left: 50%; transform: translateX(-50%); font-size: 40px; }
    .diary-text { font-family: 'KyoboHandwriting', cursive, sans-serif; line-height: 1.8; color: #403d39; }
    .btn-back { display: inline-block; margin-top: 20px; padding: 10px 20px; background: #d4a373; color: white; text-decoration: none; border-radius: 10px; }
  </style>
</head>
<body>
  <div class="viewer-box">
    <h2 style="text-align:center; color:#606c38;">과거의 기록 불러오기</h2>
    <div class="diary-text">
      <?php echo $content; ?>
    </div>
    <a href="diary_save.php" class="btn-back">← 일기 쓰러 가기</a>
  </div>
</body>
</html>

3. 왜 파일 읽기 마법이 중요할까요?

저장된 데이터에 ‘생명’을 불어넣어 다시 활용할 수 있게 해주기 때문이에요!
1. 복습의 가치: 사용자님이 공들이시는 ‘EduPad’ 학습 플랫폼에서 어제 배운 내용을 다시 보여주는 기능은 학습 효과를 2배로 높여줍니다. 기록하는 것만큼 중요한 것이 바로 ‘다시 보는 것’이니까요.
2. 시스템 설정 확인: 사용자님의 Ubuntu 서버에서도 설정 파일(Config)을 읽어서 현재 서버가 어떤 상태인지 확인하는 데 이 file_get_contents 마법이 매일같이 쓰이고 있답니다.

PHP 마법 학교 18기 2강: 과거의 나를 만나다! '파일 읽기 마법: 내가 쓴 일기 다시 불러오기'

4. 아이들과 함께하는 ‘추억의 상자 열기’ 놀이

어제 만들었던 ‘우리 집 서버(추억 상자)’를 가져와보세요. 아이와 함께 상자 속 종이들을 하나씩 꺼내어 큰 소리로 읽어보는 거예요. “상자에서 종이를 꺼내는 게 바로 file_get_contents 마법이란다! 우리가 쓴 글을 다시 읽으며 웃는 이 시간이 바로 코딩의 출력(Output) 과정이지!”라고 설명해 주세요. 데이터의 선순환(저장-조회) 개념을 아주 따뜻하게 이해하게 됩니다.

마치며: 기록이 쌓여 보물이 됩니다

오늘 우리는 텍스트 파일에 담긴 정보를 화면으로 소환하는 법을 배웠습니다. 이제 여러분의 웹사이트는 쓰고 읽는 것이 모두 가능한 완벽한 ‘일기장 서비스’가 되었네요! 다음 시간에는 글자뿐만 아니라 멋진 사진을 서버로 전송하는 고난도 마법, ‘업로드 마법: 내 사진을 웹사이트에 올리기’를 배워보겠습니다. 앨범을 준비해 주세요! 내일 아침에 만나요! ✨