테스트 사이트 - 개발 중인 베타 버전입니다

하이퍼링크 PDF파일 강제다운로드 방법 질문드립니다. 채택완료

시엔시 10년 전 조회 29,800

언제나 많이 얻어가는 sir에 감사하며 오늘도 질문만 남겨서 죄송합니다.

 

PDF파일을 하이퍼링크 <a href="PDF주소">다운로드</a>  로 걸면 웹상으로 브라우저가 바로 열리도록 되어있는데요

(이미지도 마찬가지죠...)

이 PDF나 이미지등을 클릭시 강제로 파일형태처럼 다운로드할수있게 만들려면 어떤형식이 필요한가요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
Dessi
10년 전

제가 사용하고 있는 코드입니다.

 

아래 구문으로 filedown.php로 만들어서 루트에 업로드해주세요.

 

</p><p><? </p><p>include_once('./_common.php'); </p><p> </p><p>$code = "$g4[path]/download"; //자신의 경로에 맞게 수정(download의 위치가 다운로드할 파일이있는 위치입니다.)</p><p>$file="$code/$filename"; </p><p>$file_size=filesize($file); </p><p> </p><p>// 브라우저 골라서 헤더를 따로 따로 전송 해 준다.(5.5 일때는 다르게 해줘야 함) </p><p>if( strstr($HTTP_USER_AGENT,"MSIE 5.5")){ </p><p>header("Content-Type: doesn/matter "); </p><p>header("Content-Disposition: filename=$filename "); </p><p>header("Content-Transfer-Encoding: binary "); </p><p>header("Pragma: no-cache"); </p><p>header("Expires: 0"); </p><p>}else{ </p><p> </p><p>Header("Content-type: file/unknown"); </p><p>Header("Content-Disposition: attachment; filename=$filename"); </p><p>Header("Content-Description: PHP3 Generated Data"); </p><p>header("Pragma: no-cache"); </p><p>header("Expires: 0"); </p><p>} </p><p>if(is_file("$file")){ </p><p>$fp = fopen("$file","r"); </p><p>if (!fpassthru($fp)) </p><p>fclose($fp); </p><p>} </p><p> </p><p>?> </p><p> </p><p>

 

링크를 거실때는

<a href="<?=$g4[path];?>/filedown.php?filename=피디에프 파일.pdf"/> 

이렇게 불러오시면 됩니다. "피디에프 파일.pdf"가 위에 지정한 download 폴더에 있으면 됩니다.

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

thisgun
10년 전

http://stackoverflow.com/questions/3238657/pdf-to-download-not-link-to-view-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...​

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

시엔시
10년 전
익스플러 까비네요...댓글감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

/lib/common.lib.php

 

이곳에 가시면 get_file이라는 펑션이 있어요.

 

/bbs/download.php하고 연결시켜주는건데요.

 

download.php는 pdf파일이라도 웹에서 열지않고 다운로드하게 해줘요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

시엔시
10년 전
아...답변 감사합니다. 다만 제가 알고싶은건 특정 게시판스킨으로 혹은 일반적인 하이퍼링크로 가능한 방법을 알고싶어서 그렇습니다. 분명 저걸 건들면 전부의 게시판이 pdf를 다운로드하게 만들어질테니까요...
드래곤된다
10년 전
제 글의 팩트는....

download.php에 있는 소스를 이용하면 다운로드 바로 된다는거에요...

header만 있어도 다운로드 바로되요...
시엔시
10년 전
아...먼가 아리송하네요
제가 뒷받침되는 지식이 없어서 알아듣지 못한듯 합니다. 죄송합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인