나는 PHP를 사용하여 다른 서버에서 대용량 파일을 다운로드하는 가장 좋은 방법을 찾으려고했지만 실패한 것 같거나 완전히 만족하지 못합니다.원격 파일을 다운로드하는 가장 좋은 방법
내 질문은 무엇입니까, 적은 RAM을 사용하여 큰 파일을 다운로드하는 가장 빠른 방법은 무엇입니까? 그게 컬이야? fopen의? 그것이 fopen이라면 어떤 전략을 사용해야합니까?
감사합니다.
나는 PHP를 사용하여 다른 서버에서 대용량 파일을 다운로드하는 가장 좋은 방법을 찾으려고했지만 실패한 것 같거나 완전히 만족하지 못합니다.원격 파일을 다운로드하는 가장 좋은 방법
내 질문은 무엇입니까, 적은 RAM을 사용하여 큰 파일을 다운로드하는 가장 빠른 방법은 무엇입니까? 그게 컬이야? fopen의? 그것이 fopen이라면 어떤 전략을 사용해야합니까?
감사합니다.
Fastest는 소켓을 사용했을 가능성이 있지만 휠을 다시 발명하는 것과 같습니다. 실제로 cURL을 사용해야합니다. 나는 당신의 모든 메모리를 사용하지 말아 있도록 온라인이 조각을 발견
set_time_limit(0);
$fp = fopen (dirname(__FILE__) . '/file.ext', 'w+'); // Output file
$ch = curl_init('http://www.example.com/largefile.ext'); // Input file
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
출처 :
fopen은 allow_url_fopen을 활성화해야한다는 점에서 신뢰할 수 없습니다 (보안 문제로 인해 대개 비활성화됩니다). 당신은 fopen보다 cURL 옵션이 훨씬 많습니다.
http://www.webdigity.com/index.php?action=tutorial;code=45 당신이 PHP의 파일을 처리하기 위해 다운로드, 아니면 그냥 그래서 그들은 어딘가에 저장하고 다운로드 할 수 있습니다. 저장소로 다운로드하기 만하면 외부에서 exec wget을 실행하여 백그라운드에서 실행하게하면 방정식에서 PHP가 제거됩니다. –