소소한 IT이야기/PHP_개발

[M2 MAMP] PHP 게시판 구축 - 07 (feat. 파일 업로드 구현)

Klaus 2023. 8. 12. 16:23

 

 

0. 진행순서

먼저, board테이블에 file 컬럼 만들기

- 속성값은 NOT NULL로 설정하여 파일 업로드하지 않아도 괜찮도록 설정

 

1. 코드 작성

[write.php]

write.php파일에서 enctype=multipart/form-data를 써서 데이터의 용량을 늘려줍니다.

enctype=multipart/form-data에 대한 정보는 아래 블로그 참고!

https://junghyun100.github.io/Multipart_form-data/

 

<td><input type="file" value="1" name="b_file" id="in_file" /></td>을 사용하여 파일 업로드 폼을 만들어주었습니다.

 

작성된 write.php 폼 아래 [파일 선택]하여 작성이 가능합니다.

[write_ok.php]

 

실질적으로 DB에 파일을 저장하기 위해서 많은 수정이 필요합니다.

$tmpfile 과 $o_name 변수를 사용하여 각각 임시 파일명과 저장하려는 파일명을 저장하고, iconv함수를 사용하여 한글 파일이 깨지는 것을 방지하였습니다.

$folder변수에는 파일이 저장되는 위치를 넣어주었습니다. 해당 부분은 각자의 파일이 저장되는 경로 지정해주시면 됩니다.

 

[read.php]

read.php에도 적당한 위치에 파일을 다운로드하기 위한 코드를 작성해줍니다. 그러면 아래와 같이 게시판에서 읽을 수 있습니다.

 

2. 마무리

해당 부분에서는 file 컬럼을 flie로 잘못 입력하여 폭풍 검색을 하였습니다.