2010-02-20 13 views
3

PHP로 작업 중이며 많은 XML 파일 (압축되지 않은 50-75MB)을 파싱해야합니다. 그러나 문제는 이러한 XML 파일을 원격으로 저장하기 때문에 XML 파일을 구문 분석하기 전에 다운로드해야한다는 것입니다.cURL을 사용하여 큰 XML 파일 다운로드

문제에 대해 생각한 결과, PHP에서 cURL 전송을 시작하기 위해 system() 호출을 사용하는 것이 아마도 시간 초과 및 PHP 메모리 제한을 피하는 가장 좋은 방법이라고 생각합니다.

이전에 이런 일을 한 사람이 있습니까? 특히 원격 파일을 다운로드하고 내가 선택한 로컬 폴더에 저장되도록하려면 cURL에 무엇을 전달해야합니까?

답변

1

이 시도 할 수 있습니다 :

function download($src, $dst) { 
     $f = fopen($src, 'rb'); 
     $o = fopen($dst, 'wb'); 
     while (!feof($f)) { 
      if (fwrite($o, fread($f, 2048)) === FALSE) { 
        return 1; 
      } 
     } 
     fclose($f); 
     fclose($o); 
     return 0; 
} 
download($url,$target); 
if (file_exists($target)){ 
    # do your stuff 
} 
+0

이 작동하지만 분명히 PHP의 적용을받습니다 타임 아웃 -이 상황에서 더 좋은없는. – ndg

관련 문제