phpでurl指定でファイルを保存(ダウンロード)

//メモリにファイル全てを読み込まずに、新しいファイルへ保存する。
function download($fromurl, $tofile) {
    $fp = fopen($fromurl, 'r');
    $fpw = fopen($tofile, 'w');
    $size = 0;
    
    while (!feof($fp)) {
        $buffer = fread($fp, 1024);
        if ($buffer === false) {
            $size = false;
            break;
        }
 
        $wsize = fwrite($fpw, $buffer);
        if ($wsize === false) {
            $size = false;
            break;
        }
 
        $size += $wsize;
    }
 
    fclose($fp);
    fclose($fpw);
    return $size;
}