А) скачать файл через URL:
$destination = fopen("tmp/myfile.ext","w");
//Myfile.ext is an example you should probably define the filename with the url.
$source = fopen($url,"r");
while (!feof($source)) {
fwrite($destination,fread($source, 8192));
}
fclose($source);
fclose($destination);
Б) Загрузить файл на FTP:
$file = 'tmp/myfile.ext';
$fp = fopen($file, 'r');
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {
echo "UPLOAD OK";
} else {
echo "ERROR";
}
ftp_close($conn_id);
fclose($fp);
Это всего лишь быстрый пример, вероятно, есть много улучшенийчто можно сделать с этим кодом, но основная идея здесь.
Примечание: если у вас есть выделенный сервер, возможно, быстрее и проще скачать файл с помощью вызова wget.
Более подробную информацию о FTP можно найти в документе