웹 개발 & 정보/PHP
[PHP] 헤더를 이용한 파일 다운로드 구현
Rozera
2017. 10. 19. 13:23
반응형
PHP로 파일 다운로드를 구현하는 소스입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?php $filename = "서버의 파일명"; $file = "서버에서 파일 경로" . $filename; /* * ex) $filename = "image1.png"; * $file = $_SERVER['DOCUMENT_ROOT'] . "/images/" .$filename; */ if (is_file($file)) { if (preg_match("MSIE", $_SERVER['HTTP_USER_AGENT'])) { header("Content-type: application/octet-stream"); header("Content-Length: ".filesize("$file")); header("Content-Disposition: attachment; filename=$filename"); // 다운로드되는 파일명 (실제 파일명과 별개로 지정 가능) header("Content-Transfer-Encoding: binary"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Pragma: public"); header("Expires: 0"); } else { header("Content-type: file/unknown"); header("Content-Length: ".filesize("$file")); header("Content-Disposition: attachment; filename=$filename"); // 다운로드되는 파일명 (실제 파일명과 별개로 지정 가능) header("Content-Description: PHP3 Generated Data"); header("Pragma: no-cache"); header("Expires: 0"); } $fp = fopen($file, "rb"); fpassthru($fp); fclose($fp); } else { echo "해당 파일이 없습니다."; } ?> |
브라우저에서 파일을 다운 받는 기능 (내 PC로 다운로드 되는 기능) 을 PHP 파일로 구현하는 소스입니다.
GET 으로 파일명을 넘기는 방식이나 ( 예시 : /download.php?filename='파일명' )
기타 다른 방식으로 활용할 수 있습니다.
반응형