하이퍼링크 PDF파일 강제다운로드 방법 질문드립니다.
본문
언제나 많이 얻어가는 sir에 감사하며 오늘도 질문만 남겨서 죄송합니다.
PDF파일을 하이퍼링크 <a href="PDF주소">다운로드</a> 로 걸면 웹상으로 브라우저가 바로 열리도록 되어있는데요
(이미지도 마찬가지죠...)
이 PDF나 이미지등을 클릭시 강제로 파일형태처럼 다운로드할수있게 만들려면 어떤형식이 필요한가요?
답변 3
제가 사용하고 있는 코드입니다.
아래 구문으로 filedown.php로 만들어서 루트에 업로드해주세요.
<?
include_once('./_common.php');
$code = "$g4[path]/download"; //자신의 경로에 맞게 수정(download의 위치가 다운로드할 파일이있는 위치입니다.)
$file="$code/$filename";
$file_size=filesize($file);
// 브라우저 골라서 헤더를 따로 따로 전송 해 준다.(5.5 일때는 다르게 해줘야 함)
if( strstr($HTTP_USER_AGENT,"MSIE 5.5")){
header("Content-Type: doesn/matter ");
header("Content-Disposition: filename=$filename ");
header("Content-Transfer-Encoding: binary ");
header("Pragma: no-cache");
header("Expires: 0");
}else{
Header("Content-type: file/unknown");
Header("Content-Disposition: attachment; filename=$filename");
Header("Content-Description: PHP3 Generated Data");
header("Pragma: no-cache");
header("Expires: 0");
}
if(is_file("$file")){
$fp = fopen("$file","r");
if (!fpassthru($fp))
fclose($fp);
}
?>
링크를 거실때는
<a href="<?=$g4[path];?>/filedown.php?filename=피디에프 파일.pdf"/>
이렇게 불러오시면 됩니다. "피디에프 파일.pdf"가 위에 지정한 download 폴더에 있으면 됩니다.
!-->
http://stackoverflow.com/questions/3238657/pdf-to-download-not-link-to-view-download
링크 걸어 놓습니다.
참고로
<a href="./directory/yourfile.pdf" download="newfilename">Download the pdf</a>
위 구문은 html5를 지원하는 브라우저에서는 되지만, IE에서는 안되네요. OTL...
/lib/common.lib.php
이곳에 가시면 get_file이라는 펑션이 있어요.
/bbs/download.php하고 연결시켜주는건데요.
download.php는 pdf파일이라도 웹에서 열지않고 다운로드하게 해줘요.
답변을 작성하시기 전에 로그인 해주세요.