2012-01-31 10 views
0

URL에서 일부 zip 파일을 다운로드하려면 PHP를 사용하고 싶습니다. I.E. sitename.com/path/to/file/id/123이 URL로 바로 가면 파일 다운로드 프롬프트가 나타납니다. fopen()file_get_contents()을 사용해 보았지만 실패했습니다. 검색 나는 zip 파일을 다운로드 할 수있게 만드는 방법 또는 sitename.com/path/to/file.zip에서 파일을 가져 오는 방법과 함께 컴백을했지만 내 URL에는 .zip 확장자가 없습니다.URL에서 zip 파일 다운로드

fopen ('url.com') or die('can not open'); 

브라우저 쇼 URL이 아마 당신을 리디렉션 할 수있는 스크립트입니다

+1

을'하지만 이러한 방법을 시도하는 거지 어떤 메시지 이러한 fail.' :

an example at php.net에서 적응? 코드를 보여주세요. – Cheery

+0

내 질문을 편집했습니다. – Cjueden

+0

은 아마도 'http : // url.com'을 사용해야하고, 죽어 가고 있지 않지만 보이지 않는 경우에는 에코를 시도해야합니다. – Moak

답변

5

열 수 없습니다. 사용 CURL 대신

$fh = fopen('file.zip', 'w'); 
$ch = curl_init() 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_FILE, $fh); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // this will follow redirects 
curl_exec($ch); 
curl_close($ch); 
fclose($fh); 
+1

zip 파일을 빈 zip 파일로 다운로드 중입니다. 어떤 아이디어가 잘못 될 수 있습니까? – TimNguyenBSM

+0

이 답변은 더 이상 작동하지 않습니다. 빈 ZIP 파일 만 생성합니다. –

+0

빈 파일이 있고 서버에서 zip이 작동하면 내용 길이를 설정해야 할 수 있습니다. header ("Content-Length :". filesize ($ yourfile)); –

1

은 이런 종류의에 대한 readfile() 같은 기본적인 기능을 사용하는 것이 더 쉬울 것입니다.

<?php 
// We'll be outputting a ZIP 
header('Content-type: application/zip'); 

// Use Content-Disposition to force a save dialog. 
// The file will be called "downloaded.zip" 
header('Content-Disposition: attachment; filename="downloaded.zip"'); 

// The ZIP source is in original.zip 
readfile('original.zip'); 
?> 
+0

저에게 맞는 작품입니다. (URL에서 zip 파일 다운로드) – user2511140

관련 문제