PHP + MySQL 게시판 제작 - 파일 다운로드

2026. 2. 16. 17:29·모의해킹

첨부파일을 누르면 파일이 저장된다

결과

파일 다운로드 기능이 제일제일 어려웠다

흑흑

 

[ download.php ]

<?php
include 'lib.php';

$file_id = $_GET['file'];

$sql = "SELECT * FROM file_upload WHERE file_id = '$file_id'";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);

$file_name = $row['file_name'];
$file_save = $row['file_save'];

$file_path = "./uploads/".$file_save;

header("Content-Type:application/octet-stream");
header("Content-Length:".filesize($file_path));
header("Content-Disposition:attachment;filename=$file_name");

readfile($file_path);
exit;

?>

Content-type : application/octet-stream

파일의 콘텐츠유형을 알 수 없을 때 파일을 바이너리 형식(0과 1의 구조로 저장)으로 처리하도록 하는 것

이 타입을 받은 브라우저는 파일을 렌더링하지 않고 강제로 다운로드하게 한다

사용자가 업로드한 파일이 HTML, JS같은 파일이면 브라우저가 렌더링하면서 스크립트가 실행될 수 있기 때문에

보안목적으로 넣는거라고 생각하면 됨

 

Content-Length : filesize

전송될 파일의 총 바이트 크기를 나타내며 다운로드 진행률 표시가 가능하다!

 

Content-Disposition : attachment

무조건 다운로드하라는 의미

이게 없으면

PHP파일이 저장되고

요렇게 떠버린당

 

휴

'모의해킹' 카테고리의 다른 글

PHP + MySQL 게시판 제작 - 게시글 수정  (0) 2026.02.16
PHP + MySQL 게시판 제작 - 게시물 삭제  (0) 2026.02.16
PHP + MySQL 게시판 제작 - 게시글 조회  (0) 2026.02.16
PHP + MySQL 게시판 제작 - 게시글 작성 (+파일 업로드)  (0) 2026.02.16
PHP + MySQL 게시판 제작 - 게시판 검색 기능  (0) 2026.02.16
'모의해킹' 카테고리의 다른 글
  • PHP + MySQL 게시판 제작 - 게시글 수정
  • PHP + MySQL 게시판 제작 - 게시물 삭제
  • PHP + MySQL 게시판 제작 - 게시글 조회
  • PHP + MySQL 게시판 제작 - 게시글 작성 (+파일 업로드)
songtoy
songtoy
  • songtoy
    ㅎㅇ
    songtoy
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 모의해킹
  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
songtoy
PHP + MySQL 게시판 제작 - 파일 다운로드
상단으로

티스토리툴바