"application/pdf","txt" => "text/plain","html" => "text/html","htm" => "text/html","exe" => "application/octet-stream","zip" => "application/zip","doc" => "application/msword","xls" => "application/vnd.ms-excel","ppt" => "application/vnd.ms-powerpoint","gif" => "image/gif","png" => "image/png","jpeg"=> "image/jpg","jpg" => "image/jpg","php" => "text/plain");if($mime_type==''){$file_extension = strtolower(substr(strrchr($file,"."),1));if(array_key_exists($file_extension, $known_mime_types)){$mime_type=$known_mime_types[$file_extension];} else {$mime_type="application/force-download";};};//turn off output buffering to decrease cpu usage@ob_end_clean();// required for IE, otherwise Content-Disposition may be ignoredif(ini_get('zlib.output_compression'))ini_set('zlib.output_compression', 'Off');header('Content-Type: ' . $mime_type);header('Content-Disposition: attachment; filename="'.$name.'"');header("Content-Transfer-Encoding: binary");header('Accept-Ranges: bytes');/* The three lines below basically make thedownload non-cacheable */header("Cache-control: private");header('Pragma: private');header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");// multipart-download and download resuming supportif(isset($_SERVER['HTTP_RANGE'])){list($a, $range) = explode("=",$_SERVER['HTTP_RANGE'],2);list($range) = explode(",",$range,2);list($range, $range_end) = explode("-", $range);$range=intval($range);if(!$range_end) {$range_end=$size-1;} else {$range_end=intval($range_end);}/*------------------------------------------------------------------------------------------------------//This application is developed by www.webinfopedia.com//visit www.webinfopedia.com for PHP,Mysql,html5 and Designing tutorials for FREE!!!------------------------------------------------------------------------------------------------------*/$new_length = $range_end-$range+1;header("HTTP/1.1 206 Partial Content");header("Content-Length: $new_length");header("Content-Range: bytes $range-$range_end/$size");} else {$new_length=$size;header("Content-Length: ".$size);}/* Will output the file itself */$chunksize = 1*(1024*1024); //you may want to change this$bytes_send = 0;if ($file = fopen($file, 'r')){if(isset($_SERVER['HTTP_RANGE']))fseek($file, $range);while(!feof($file) &&(!connection_aborted()) &&($bytes_send<$new_length)){$buffer = fread($file, $chunksize);print($buffer); //echo($buffer); // can also possibleflush();$bytes_send += strlen($buffer);}fclose($file);} else//If no permissiiondie('Error - can not open file.');//diedie();}//Set the time outset_time_limit(0);//Call the download function with file path,file name and file typeoutput_file($file, $name, '');/*//This application is developed by www.webinfopedia.com//visit www.webinfopedia.com for PHP,Mysql,html5 and Designing tutorials for FREE!!!*/?>