Как передать файл пользователю с удаленного сервера на php?
Делается это все просто, кидаем заголовки что это файл, сами забираем удалённый файл и отдаёмob_get_level() && ob_end_clean();
header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK');
header('Content-Type: application/force-download');
header('Content-Description: inline; File Transfer');
header('Content-Transfer-Encoding: binary');
header('Content-Disposition: attachment; filename="' . $name . '";', false);
header('Content-Length: ' . $len);

$upload = new SplFileObject($url, 'rb');
while (!$upload->eof()) {
    echo($upload->fgets());
}


flush();
exit;
Скачать файл к себе на сервер и отдать клиенту.
Можно не дожидаться полного скачивания, и отдавать "на лету".