<?php
if(strlen($_GET['url']) >
1) {$url =
$_GET['url'];
} else{$url = 'http://pksml.net/misc/google.gif';};
//echo "<PRE>" . print_r($parsedURL, true) . "</PRE>"; //Diagnostics
$curl_handler = curl_init();
curl_setopt($curl_handler, CURLOPT_URL, $url);
curl_setopt($curl_handler, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handler, CURLOPT_BINARYTRANSFER, 1); //return the transfer in a binary format .
curl_setopt($curl_handler, CURLOPT_USERAGENT, $ua);
$data = curl_exec($curl_handler);
$array = curl_getinfo($curl_handler);
curl_close($curl_handler);
//echo "<PRE>" . print_r($array, true) . "</PRE>"; // More diagnostics
// Setup some smart extensions
if($array['content_type'] == "image/gif") {$ext = ".gif";}
elseif($array['content_type'] == "image/jpeg") {$ext = ".jpg";}
elseif($array['content_type'] == "image/jpg") {$ext = ".jpg";}
elseif($array['content_type'] == "image/png") {$ext = ".png";}
elseif($array['content_type'] == "audio/mpeg") {$ext = ".mp3";}
elseif($array['content_type'] == "text/html") {$ext = ".htm";}
elseif($array['content_type'] == "text/plain") {$ext = ".txt";}
// Adds smart extension, if applicable
if(strlen($savename) ==
strlen($ext)) {$savename =
"download{$ext}";
} }
else {$savename =
basename($parsedURL['path']);
}
// Do whatever you want to with $data - it holds the binary content
header("Content-Type: application/octet-stream;");
header("Content-Disposition: attachment; filename=\"" .
$savename .
"\"");
}
else {echo "We had an error. Perhaps a malformed URL. Please try again.";
} ?>