2011-01-19 1 views
0

파일을 다운로드하고 저장하고 싶습니다. gzip 파일을 다운로드 할 때이 코드를 사용하고 있습니다.php를 통해 gzip 파일을 다운로드하십시오. cURL

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $this->_params['url']); 
curl_setopt($ch, CURLOPT_VERBOSE, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)"); 
curl_setopt($ch, CURLOPT_POST, true); 
$post = array("image_id"=> $this->_response_id, "format"=>$this->_response_format); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
$response = curl_exec($ch); 
curl_close($ch); 

그러나 결과 유형을 인쇄 할 때 문자열이 표시됩니다 (문자열 형식의 파일이 표시됨).

어떻게이 문제를 해결할 수 있습니까?

감사합니다.

+0

한 쪽지는 내 질문과 연결되어 있습니다. 인쇄 할 때 ($ info = curl_getinfo ($ ch, CURLINFO_CONTENT_TYPE);) image/svg + xml을 볼 수 있습니다. @ goreSplatter, 내가 당신을 위해 잊어 버렸습니다. 당신의 코멘트 (나는 당신이 그것을 사랑한다는 것을 안다 :) :) –

답변

1

다음 옵션도 포함해야한다고 생각합니다.

CURLOPT_ENCODING 

"Accept-Encoding :"헤더의 내용을 처리합니다. 이렇게하면 응답을 디코딩 할 수 있습니다. 지원되는 인코딩은 "ID", "수축"및 "gzip"입니다.

p.s : 답변을 수락하거나 질문하는 것을 중지하십시오. 아마도 당신도 알고 있어야합니다this

또한 this 링크를 확인하고 패치를 사용해보십시오.

+0

나는이 모든 옵션을 시도하지만 결과는 같다. –

+0

내가 쓸 때 : $ info = curl_getinfo ($ ch, CURLINFO_CONTENT_TYPE); curl_close ($ ch); echo '
'. "유형 :". "
'. $ info; 형식은 다음과 같습니다. image/svg + xml. 그리고 그것이 의미하는 바를 이해하지 못합니다. –

+0

업데이트 된 답변보기 – ayush