2012-06-27 5 views
1

가능한 중복 :
Sending large files reliably in PHP다운로드 링크를 통해 파일을 다운로드하는 가장 좋은 방법은 무엇입니까?

내가 마스크 URL을 통해 자신의 서버에서 자신의 클라이언트에 다운로드 할 수있는 제품을 제공하는 사람을 수있는 PHP 스크립트를 배포합니다 (싶지 않아 서버의 위치를 ​​알려주십시오). 일부 파일은 꽤 클 수 있으므로 더 큰 파일을 처리 할 수있는 방법을 사용해야합니다.

나는 (보편적 등 지원 신뢰할 수있는, 가장 효율적인), 난 그냥 사용하는 것이 최선이 될 것이다 요구하고있는 다음 다운로드 각 방법을 활용하는 방법에 익숙 :

스트리밍 FOPEN

스트리밍 컬

file_get_contents

+0

다운로드 기능을 제공하는 기능이 필요한 이유가 확실하지 않습니다. 더 잘 설명해 주시겠습니까? – drew010

+2

목록에있는 사람이 없습니다. 'readfile'이 있습니다. 실제로 웹 서버에 다시 서비스를 제공하는 작업을 위임하는 것이 좋습니다. 'X-Sendfile'. – hakre

+0

많은 기능을 갖춘 커다란 스크립트로 모든 것을 설명하지 않고 스크립트를 다운로드 할 수있는 최상의 방법을 알아야합니다. – JROB

답변

5

그것은 webserve을 수 있도록 일반적으로 좋습니다 r 정적 파일 전송을 처리합니다.

apache, lighttpd 또는 nginx에 x-sendfile을 사용하십시오. 당신은 인증을 위해 PHP를 사용할 수 헤더를 보내, 스크립트가 종료됩니다, 그리고 웹 서버는 파일의 전송을 처리합니다. 최종 사용자는 파일이 서버에있는 위치를 알 수 없습니다.

관련 문제