2012-04-23 6 views
5

PHP 헤더를 사용하여 외부 소스에서 파일을 다운로드하도록합니다. 그러나 파일 형식은 ANYTHING 일 수 있습니다. 모든 파일 형식을 강제로 다운로드 할 수 있습니까??PHP로 알 수없는 파일 유형을 강제로 다운로드합니다.

내 질문과 내가 설명하려고하는 것을 이해할 수 있기를 바랍니다.

+3

모든 다운로드를 강제하는 것은 나에게 좋은 생각 같아 ... ReadFile을'에 대한 PHP 문서에서 – Jon

+0

봐()', 특히 헤더를 옥텟 스트림으로 설정합니다. –

+0

이 @Jon에 동의하면 잘못된 UX 결정입니다. 사용자가 파일을 다운로드하기를 100 % 확신합니까? 당신은 그들이 기본 이름과 함께 그들의 기본 다운로드 디렉토리에 그것을 저장하고 싶은지 100 % 확실합니까? IFF를 통해이 질문에 답할 수 있습니다. – Jeff

답변

6

당신은 HTTP 헤더를 의미하고 RFC 2616, http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html "Content Disposition"을 찾고 있습니다.

모든 파일 및 유형의 다운로드를 강제로 다음과 같은 헤더를 보내기 :

header('Content-Disposition: attachment; filename="name.ext"'); 
header('Content-Type: application/octet-stream'); // or application/force-download 

echo $the_file_content; 
exit; 
+0

MIME 형식 인 'application/octet-stream'을 의미한다면. – freeone3000

+3

아, 구체적입니다. 파일이 바이트로 구성되어 있다고 선언합니다. 파일이 바이트로 구성되지 않으면 다른 것을 찾아야합니다. – freeone3000

+0

대다수 만? – Johnnyoh

관련 문제