PHP 마법 학교 13강: 그림과 사진을 보관하는 ‘파일 업로드’ 대작전

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 지난 시간에는 우리를 기억해 주는 쿠키와 세션을 배웠죠? 오늘은 웹사이트에 글자만 쓰는 것이 아니라, 내가 직접 그린 그림이나 사진을 올리는 ‘파일 업로드’ 마법을 배워보겠습니다. 우리만의 멋진 온라인 갤러리를 만들 준비 되었나요?

PHP 마법 학교 13강: 그림과 사진을 보관하는 '파일 업로드' 대작전

1. 배달 왔습니다! ‘$_FILES’ 주머니

우리가 사진을 골라 ‘전송’ 버튼을 누르면, 사진은 택배 상자에 담겨 서버로 날아갑니다. PHP 마법사는 이 택배 상자를 $_FILES라는 특별한 주머니에 담아둡니다. 이 주머니 안에는 파일의 이름, 크기, 그리고 ‘진짜 파일’이 어디에 있는지 정보가 가득 들어있어요.

2. 택배를 선반에 정리해요: move_uploaded_file

택배가 도착하면 거실에 그냥 두면 안 되겠죠? 지정된 창고(폴더)에 잘 정리해야 합니다. 이때 사용하는 주문이 move_uploaded_file입니다. 임시로 보관 중인 파일을 우리가 원하는 폴더로 슥~ 옮겨주는 마법이죠.

<?php
  // 1. 배달된 파일의 정보를 가져와요
  $myFile = $_FILES['magic_photo'];
  
  // 2. 어디로 옮길지 정해요 (uploads 폴더로!)
  $target = "uploads/" . $myFile['name'];

  // 3. 임시 보관함에서 창고로 이동!
  if (move_uploaded_file($myFile['tmp_name'], $target)) {
    echo "우와! 멋진 마법 사진이 갤러리에 저장되었어요!";
    echo "<img src='$target' width='200'>"; // 방금 올린 사진 보여주기
  } else {
    echo "어라? 배달 사고가 났나 봐요. 다시 시도해 주세요.";
  }
?>

3. 나쁜 마법사를 조심하세요! (보안 체크)

아무 파일이나 다 받으면 위험해요! 나쁜 마법사가 사진인 척하며 독약(바이러스 코드)을 보낼 수도 있거든요. 그래서 우리는 꼭 확장자(jpg, png 등)를 확인해야 합니다. “너 진짜 사진 맞니?”라고 물어보는 과정이죠.

PHP 마법 학교 13강: 그림과 사진을 보관하는 '파일 업로드' 대작전

4. 아이들과 함께하는 ‘디지털 앨범’ 만들기

오늘 배운 마법을 활용하면 우리 가족만의 비밀 앨범 사이트를 만들 수 있습니다. 아이가 그린 그림을 스마트폰으로 찍어 바로 업로드하고, 날짜별로 정리해 보세요. “이 사진은 어느 폴더 주머니에 들어갔을까?”라고 묻고 답하며 데이터가 이동하는 경로를 시각화해 보는 것도 좋은 공부가 됩니다.

마치며: 조각들을 모아 완성하는 나만의 세계

글자(변수), 숫자(데이터 타입), 그리고 이제 이미지(파일)까지! 여러분은 웹사이트를 구성하는 거의 모든 재료를 다룰 줄 알게 되었습니다. 이제 이 재료들을 어떻게 요리하느냐에 따라 여러분의 웹사이트는 보물지도가 될 수도 있고, 전 세계 친구들과 노는 놀이터가 될 수도 있습니다. 다음 시간에는 더 신기한 마법으로 돌아올게요!