Очень очень просто, как это:
$url = $_GET['file'];
$path_parts = pathinfo($url);
$ext = $path_parts['extension'];
$filename = $path_parts['filename'];
header("Content-type: application/$ext");
header("Content-Disposition: attachment; filename=$filename");
echo file_get_contents($url);
Если размер файла превышает несколько мегабайт, используйте fopen fread и frwrite, загрузите файл кусками и отправьте клиенту кусками.