我一直在努力寻找使用PHP从其他服务器下载大文件的最佳方法,但似乎我失败了,或者我并不完全满意。
所以我的问题是,使用较少内存来下载大文件的最快方法是什么?它卷曲吗? fopen?如果它是fopen,使用什么策略?
谢谢。
答案 0 :(得分:1)
fopen不可靠,因为它要求你启用allow_url_fopen(由于安全问题,它通常被禁用)。 cURL有比fopen更多的选项。
答案 1 :(得分:1)
最快可能会使用插座,但这就像再次发明轮子一样。 你应该确实使用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