>백엔드 개발 >PHP 튜토리얼 >php 파일 다운로드

php 파일 다운로드

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-08-08 09:25:35842검색

fileDownService.php

<?php
	//不封装
		function downloadFile( $fullPath ){
		
		
			//$fullPath = iconv("utf-8", "gb2312", $fullPath);
		
			echo $fullPath;
		
		
			// Must be fresh start
			if( headers_sent() )
				die(&#39;Headers Sent&#39;);
			 
			 
		
			// Required for some browsers
			if(ini_get(&#39;zlib.output_compression&#39;))
				ini_set(&#39;zlib.output_compression&#39;, &#39;Off&#39;);
		
			// File Exists?
			if( file_exists($fullPath) ){
			 
			// Parse Info / Get Extension
			$fsize = filesize($fullPath);
			$path_parts = pathinfo($fullPath);
			$ext = strtolower($path_parts["extension"]);
			 
			// Determine Content Type
			switch ($ext) {
			case "pdf": $ctype="application/pdf"; break;
				case "exe": $ctype="application/octet-stream"; break;
				case "zip": $ctype="application/zip"; break;
				case "doc": $ctype="application/msword"; break;
				case "xls": $ctype="application/vnd.ms-excel"; break;
				case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
				case "gif": $ctype="image/gif"; break;
		       case "png": $ctype="image/png"; break;
		       case "jpeg":
		       case "jpg": $ctype="image/jpg"; break;
		       default: $ctype="application/force-download";
			}
		
			header("Pragma: public"); // required
		     header("Expires: 0");
		     header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
		     header("Cache-Control: private",false); // required for certain browsers
		     		header("Content-Type: $ctype");
		     header("Content-Disposition: attachment; filename=\"".basename($fullPath)."\";" );
		     		header("Content-Transfer-Encoding: binary");
		     header("Content-Length: ".$fsize);
		     		ob_clean();
		     flush();
		     readfile( $fullPath );
		
		   } else
		     		die(&#39;File Not Found&#39;);
		}
	//封装
?>

fileDownList.php

<meta http-equiv="content-type" content="text/html" charset="gb2312"/>
<a href="fileDownProcess.php?fileName=test.png">点击下载</a><img src="test.png"  width="200px" height="200px" /><br/><br/>
<a href="fileDownProcess.php?fileName=test.png">点击下载</a><img src="test.png"  width="200px" height="200px" /><br/><br/>
<a href="fileDownProcess.php?fileName=test.png">点击下载</a><img src="test.png"  width="200px" height="200px" /><br/><br/>
<a href="fileDownProcess.php?fileName=test.png">点击下载</a><img src="test.png"  width="200px" height="200px" /><br/><br/>

fileDownProcess.php

<?php
	require_once &#39;fileDownService.php&#39;;
	
	$file_name = $_REQUEST[&#39;fileName&#39;];
	
	downloadFile($file_name);
?>

위 내용을 포함하여 PHP 파일 다운로드에 대해 소개하였습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.