Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Datei herunterladen

PHP-Datei herunterladen

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-08-08 09:25:35835Durchsuche

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);
?>

Das Obige stellt den PHP-Datei-Download vor, einschließlich des Inhalts. Ich hoffe, dass er für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn