2012-05-18 12 views
0

S3의 보안 버킷에서 zip 파일을 프로그래밍 방식으로 다운로드하려고하는데 다운로드가 브라우저로 보내지면 영수증 페이지가 표시됩니다.S3에서 파일 다운로드 및 cURL을 사용하여 리디렉션

는하지만 대신 브라우저에 출력되고있다 미친 캐릭터의 모든 종류를 점점 계속 :

$url = "https://s3.amazonaws.com/{$bucket}/{$resource}?{$authentication_params}"; 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); 
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('response-content-type: application/zip', 'response-content-disposition: attachment', 'Expect: 100-continue')); 
$response = curl_exec($ch); 
curl_close($ch); 

나는 파이어 폭스, 다운로드 작품의 주소 표시 줄에 $url을 입력합니다. 파일을 다운로드 한 다음 영수증 페이지로 이동하려면 어떻게합니까?

답변

1

.

+1

예를 들어주세요. –

1

zip 파일을 올바르게 다운로드하려면 확장명이있는 대상 파일 이름을 지정해야합니다.
예를 들어 www.url.com/myzip.zip에있는 zip 파일을 다운로드하려면 -o 매개 변수에 대상 파일 이름을 제공해야합니다.

-o는 다운로드 한 내용을이 매개 변수없이 파일에 저장하도록 지시합니다. curl은 파일 내용을 단순히 이진 파일에 표시합니다.
예 : 단순히 내 프로세스의 순서를 반대로하고 이것에 대한 메타 새로 고침 헤더를 사용하여 종료 curl -o dave.zip https://www.url.com/myzip.zip

+0

'$ url'은 현재 "https://s3.amazonaws.com/bucket/file.zip?{$authentication_params}"로 설정되어 있으며 위의 문제는 여전히 있습니다. –

+0

조금 게으른 것에 대한 유감스럽게도, 내 대답이 업데이트되었습니다. 지금 도움이 되길 바랍니다. – rb512

+0

-o는 PHP로 번역합니까? –

관련 문제