2016-11-19 5 views
0

POST 매개 변수를 사용하여 다운로드 할 파일을 생성하는 PHP 파일이 있습니다. 나는 이미 파일 다운로드를 재개하기 위해 모든 작업을하고있다 (Range 헤더와 관련된 모든 것을 사용한다).요청에 POST 데이터가 포함되어있을 때 다운로드를 다시 시작하는 방법은 무엇입니까?

그러나 다운로드를 일시 중지했다가 다시 시작하려고하면 브라우저가 요청에서 POST 데이터를 보내지 않습니다. 대신 잘 데이터를 사용하여 작동하지만 POST를 계속 사용하고 싶습니다. 이 작품을 어떻게 만들 수 있습니까?

주 :

  • 파일이 실시간으로 생성 (단순히 PHP에 의해 print'ed) 브라우저로 전송되는 올바른 헤더를 사용하여.
  • 어딘가에 파일을 저장하고 제공 할 수 없습니다. 이어야합니다.
+0

파일을 다운로드하는 것은 게시물 이후로 사용자 입력을 기반으로하는 HTTP 요청이 아니며 다른 옵션은 1 개만 사용할 수 있습니다. 세션. 하지만이 모든 것은 브라우저 구현에 달려 있으며 고려해야 할 수십 가지가 있습니다. – Xorifelse

+0

@ Xorifelse 세션에 대한 생각을 좀 더 자세히 설명해 주시겠습니까? – Lynesth

답변

0

* 죄송합니다.

글쎄, POST 매개 변수를 저장할 데이터베이스가 있다고 가정 해 봅시다.
그런 다음 매개 변수를 기반으로 다운로드 할 고유 URL을 만들어야합니다.
다운로드 링크는 dowload.php <입니다. 여기에 POST를 보내주십시오.

이제 매개 변수를 저장해야하며 unique_id이 표시됩니다. 그 후
당신은 resume_download.php

예 다운로드 URL이 resume_download.php?req=[your_unique_id] 될 것입니다 예를 들어, 다운로드를 처리합니다 (UNIQUE_ID PARAM으로) 새로운 페이지로 페이지를 리디렉션하거나

더 친화적 만든 URL로 .htaccess을 사용할 수 있습니다

다운로드가 계속되는 것은 아니지만 최소한 사용자는 양식을 다시 입력 할 필요가 없습니다.

+0

처음부터 GET을 사용하여 매개 변수를 보낼 수 있습니다 (데이터베이스에 저장하는 데 어려움을 겪고 있음). 나는 GET을 사용하지 않고 그 일을 할 수있는 방법이 없다고 생각한다. – Lynesth

+0

그래도 그렇지만 양식에 많은 양의 입력이 있으면 get 매개 변수가 충분하지 않습니다. – Atmahadli