2014-12-12 3 views
-1

PHP로 파일을 만들 때 파일을 다운로드 할 수있는 PHP 스크립트가 있습니까?PHP에서 실시간으로 파일을 만드는 동안 파일을 다운로드하는 방법

문제는 PHP에서 파일을 생성하는 거대한 스크립트가 있고 생성하는 데 약 5 분이 걸리는 것입니다. 그것이 그것을 생성 한 후에, 그것을 다운로드, 여기 또 다른 5 분 정도 소요됩니다.

파일을 다운로드하는 데 총 10 분 이상 걸립니다.

필자가 필요로하는 것은 phpmyadmin과 같은 스크립트를 만드는 것입니다.이 스크립트는 파일이 생성되는 동안 다운로드됩니다.

도움이 될 것입니다.

추신 : 나는 Codeigniter Framework를 사용하고 있습니다.

미리 감사드립니다.

+0

올바른 용어를 알아보십시오. 사용자가 파일을 다운로드합니다. 웹 응용 프로그램 *은 파일을 제공합니다. 적절한 용어를 사용하지 않고 코드가 없으면 사용자가 의미하는 바를 이해하기 어렵습니다. – developerwjk

+0

개발자로서. 필자가 알고있는 한, PHP가 완전히 완료되지 않은 한 그 파일을 보낼 수있는 파일이 없습니다. 또는 나는 정말로 뭔가를 놓치고있다. – Forien

+0

자신을 분명히하지 않으면 유감입니다. 방법이있을 수 있다고 생각했거나 내 문제와 관련하여 다운로드하는 것이 더 빠를 수 있다고 생각했습니다. 귀하의 답변 Forien 감사합니다. – vashzero

답변

1

파일을 만드는 방법에 따라 전체 예제가 매우 유용합니다.

그러나 기본적으로 올바른 헤더를 설정해야하며 결과가 출력 될 때마다 한 줄씩 출력 할 수 있습니다.

header('Content-Type: application/octet-stream'); 
header('Content-Transfer-Encoding: Binary'); 
header('Content-disposition: attachment; filename="file.txt"'); 

for($i=1;$i<=20;$i++) 
{ 
    echo $i . "\r\n"; 
    sleep(1); 
} 

exit; 

다운로드 프롬프트가 즉시 표시되지만 파일 다운로드에는 최소 20 초가 소요됩니다.

의도 한대로 헤더를 올바른 MIME 유형으로 설정해야합니다.

다운로드 크기를 알 수 없으므로 사용자는 파일의 크기 또는 다운로드 할 수있는 양을 알 수 없습니다. 이것은 단점이며 기본적으로 파일이 생성되지 않은 경우 수행 할 수있는 작업이 없습니다.

+0

위대한, 이것이 내가 찾고있는 것입니다. 나는 그것을 살펴보고 당신에게 돌아갈 것이다. 대단히 changepicture 감사합니다. – vashzero

관련 문제