下载远程文件的最佳方法


Best method to download remote files

我一直在尝试找到使用 PHP 从其他服务器下载大文件的最佳方法,但似乎我失败了,或者我不完全满意。

所以我的问题是,使用较少的RAM下载大文件的最快方法是什么? 是卷曲的吗? 如果是 fopen ,使用什么策略?

谢谢。

最快的可能是使用插座,但这就像再次发明轮子一样。你确实应该使用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);

来源: http://www.webdigity.com/index.php?action=tutorial;code=45

> fopen 不可靠,因为它要求您启用allow_url_fopen(出于安全考虑,它通常被禁用)。 cURL 的选择比使用 fopen 的选择要多得多。