채택완료
a태그를 사용해서 hwp파일 다운로드할때 익스에서 깨져서 보이는 현상 질문
게시판 관리자에서 상단내용 부분에 태그를 사용했는데요.
a 태그를 걸어서 hwp 문서를 다운할려고 하는데요.
크롬에서는 이상이 없는데 익스에서는 깨져 나오는데 방법이 없을까요

|
답변 2개 / 댓글 6개
채택된 답변
+20 포인트
2019-08-07 (수) 16:48:35
<a href="download.php?file=./temp/test.hwp">download</a>
download.php
<?php
$filesize = filesize($_GET['file']);
$path_parts = pathinfo($_GET['file']);
$filename = $path_parts['basename'];
$extension = $path_parts['extension'];
header("Pragma: public");
header("Expires: 0");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$filename);
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$filesize);
ob_clean();
flush();
readfile($_GET['file']);
답변에 대한 댓글 5개
2019-08-07 (수) 17:21:36
2019-08-07 (수) 17:48:58
조언 감사합니다.
$extension 이 변수를 이용해서 제한을 하면 될 것 같습니다.
남은 건 질문하신 분이 직접 구현하시리라 봅니다. ㅎㅎ
문제가 된다면 애초에 file 변수로 값을 넘길 때 파일명만 넘기고 디렉토리는 download.php 파일 내에서 강제하면 문제가 될 건 없어 보입니다.
그리고 다운로드 디렉토리는 관리자만 접근하면 처리하구요.
$extension 이 변수를 이용해서 제한을 하면 될 것 같습니다.
남은 건 질문하신 분이 직접 구현하시리라 봅니다. ㅎㅎ
문제가 된다면 애초에 file 변수로 값을 넘길 때 파일명만 넘기고 디렉토리는 download.php 파일 내에서 강제하면 문제가 될 건 없어 보입니다.
그리고 다운로드 디렉토리는 관리자만 접근하면 처리하구요.
허걱김선생
2019-08-08 (목) 18:52:27
$extension 이 변수를 이용해서 제한을 하면 될 것 같습니다.
이거는 어떻게 하는건가요?
이거는 어떻게 하는건가요?
2019-08-08 (목) 19:25:30
if(in_array($extension, array("php", "html"))) {
echo "<script>alert('허용된 확장자가 아닙니다.'); history.back();</script>";
exit;
}
echo "<script>alert('허용된 확장자가 아닙니다.'); history.back();</script>";
exit;
}
돼지코구뇽
2019-08-07 (수) 15:23:01
크롬에선 hwp을 웹페이지에서 바로 볼수 있지만 익스는 플러그인을 설치해야합니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
확장자 제한을 추가해야 할 것 같네요