ホームページ > バックエンド開発 > PHPチュートリアル > phpファイルのダウンロード

phpファイルのダウンロード

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-08-08 09:25:35
オリジナル
835 人が閲覧しました

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 チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート