日期:2014-05-17  浏览次数:20565 次

PHP文件下载页简单实现
	function get_extension($file){			
			return substr(strrchr($file, '.'), 1);   
			}  
	function get_name($path){			
			return substr(strrchr($path, '/'), 1);   
			} 	
    function getImage($url,$fileName="") {
				$fbufsize = 8096;
				$ext = get_extension($url);				
				$fileName = get_name($url);
				
				$type = array(
				'gif' => 'image/gif',
				'jpeg' => 'image/jpeg',
				'jpg' => 'image/jpeg',
				'jpe' => 'image/jpeg',
				'png' => 'image/png', 
				);
				
				$imgType = isset($type[$ext])?$type[$ext]:die("类型不符");
				
				header('Content-Description: File Transfer');
				header('Expires: 0');
				header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
				header('Pragma: public');
				header("Content-type: ".$imgType);
				header("Content-Transfer-Encoding: binary");
				header('Content-Disposition: attachment; filename="'.$fileName.'"');			
				header("Content-Length:" . getimagesize($url)."\n\n" );   
				
				$fp = fopen($url,"r");
				while(!feof($fp)) {
					print(fread($fp,$fbufsize));
					flush();
					ob_flush();
				}
				fclose($fp);
				exit;
		}		 
	
   getImage("http://www.lpfrx.com/wp-content/themes/ProSense/images/rss-feed-icon.jpg");

搭配jquery前后台一起处理还是很给力的,例如图片


$("img).click(function(){
var path = $(this).attr("src");
location.href="test.php?path="+path;
})

测试过了

无论下载什么格式,改一下就行了,特此备份,以便查阅