2016-10-13 3 views
0

PHP를 사용하여 큰 파일을 보관하고 브라우저로 보내 다운로드하려고합니다. 문제는 파일이 원격 시스템에 있으며 HTTP를 사용하는 것이 유일한 방법입니다. 그래서 이것이 내 파일이라고 상상해보십시오 : https://dropboxcontent.com/user333/3yjdsgf/video1.mp4 이것은 직접 링크이며 wget을 사용하여 파일을 다운로드 할 수 있습니다. 사용자가 파일을 다운로드하려면 먼저 파일을 서버로 가져온 다음 압축하여 사용자에게 보냅니다. 글쎄, 파일이 너무 큰 경우 사용자는 브라우저에 다운로드 대화 상자가 표시되기 전에 서버가 다운로드하기를 기다리고 거기에 앉아 있어야합니다. 파일 https://dropboxcontent.com/user333/3yjdsgf/video1.mp4 (로컬 /tmp/video.mp4으로 다운로드한다고 가정 해 봅시다)의 다운로드를 시작하고 동시에 아카이브에 넣고 사용자의 브라우저로 스트리밍하는 방법이 있습니까?파일 다운로드 중 (Linux)

이 라이브러리를 사용하여 압축을 풉니 다. https://github.com/barracudanetworks/ArchiveStream-php으로 잘 작동하지만 병목 현상으로 인해 서버의 로컬 파일 시스템으로 파일을 계속 가져옵니다. 여기

내 코드입니다 :

$ f를 = file_get_contents ("https://dropboxcontent.com/user333/3yjdsgf/video1.mp4"); $ zip-> add_file ('big/hello.mp4', $ f);

문제는 라인 $f = file_get_contents("https://dropboxcontent.com/user333/3yjdsgf/video1.mp4");은 파일이 너무 큰 경우 오래 걸립니다. Touch Cat Digital Inc하여 원래의 게시물의 코멘트에 제안으로

+0

원본 소스에 대한 프록시 – nogad

+0

이 응답과 비슷한 점 : http://stackoverflow.com/questions/6914912/streaming-a-large-file-using-php –

+0

그 노가드에 대해 자세히 설명해 주시겠습니까? – codemonkey

답변