Solid
Drosera anglica
Скачивание больших файлов.
Во время отладки скрипта, который скачивал файл через обычную функцию:
столкнулся с проблеммой сильной загруженностью процессора. Где-то после 3 мегобайт скаченной информации загруженность процессора начинает увеличиваться, причём очень быстро.
Попытался изменить функцию на:
почти тот же результат. Даже не почти, а точно такой же.
Единственное что пришло на ум, использовать:
Может быть у кого-то есть другие соображения?
Во время отладки скрипта, который скачивал файл через обычную функцию:
PHP:
function get_url($url) {
//$url = str_replace(' ', '%20', $url);
$data = '';
$fp = fopen($url, 'r');
if($fp) {
while (!feof($fp)) {
$data .= fread($fp, (1024*1024));
}
fclose($fp);
} else {
$data = get_url($url);
}
return $data;
}
Попытался изменить функцию на:
PHP:
function get_file($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
Единственное что пришло на ум, использовать:
PHP:
system('wget '.$url);