ファイルのダウンロードを実装するための PHP コード (複数のファイル形式)
リリース: 2016-07-25 08:58:52
-
-
/** - * ファイルのダウンロード
- * PDF、zip、gif、jpg、mpeg、word などを含む複数のファイル形式。
- * bbs.it-home.org を編集
- */
- function dl_file($file){
- //まず、ファイルが存在するかどうかを確認します
- if (!is_file($file) ) { die("404 ファイルが見つかりません!"); }
// ファイルに関する関連情報を収集します
- $len = filesize($file);
- $filename = Basename($file);
- $file_extension = strto lower(substr(strrchr($filename,"."),1));< ;/p>
//これにより、Content-Type がファイルの適切な設定に設定されます
- switch( $file_extension ) {
- case "pdf": $ctype="application/pdf"; Break;
- case "exe": $ctype="application/octet-stream"; Break;
- case "zip": $ctype="application/zip"; Break;
- case "doc": $ctype="application/msword";ブレーク;
- case "xls": $ctype="application/vnd.ms-excel";ブレーク;
- ケース "ppt": $ctype="application/vnd.ms-powerpoint";ブレーク;
- ケース "gif": $ctype="image/gif";ブレーク;
- ケース "png": $ctype="image/png";ブレーク;
- ケース "jpeg":
- ケース "jpg": $ctype="image/jpg";ブレーク;
- ケース "mp3": $ctype="audio/mpeg";ブレーク;
- ケース "wav": $ctype="audio/x-wav"; Break;
- case "mpeg":
- case "mpg":
- case "mpe": $ctype="video/mpeg";ブレーク;
- ケース "mov": $ctype="video/quicktime";ブレーク;
- ケース "avi": $ctype="video/x-msvideo";休憩;
//以下は、ダウンロードすべきでない拡張子 (php ファイルなどの機密性の高いもの) です
- case "php":
- case "htm":
- case "html":
- case "txt": die("< b>「. $file_extension .」ファイルには使用できません!");休憩;
デフォルト: $ctype="application/force-download";
- }
//ヘッダーの書き込みを開始します
- header("Pragma: public");
- header("Expires: 0");
- header("Cache-Control: must-revalidate, post-check=0, pre-check=0") ;
- header("キャッシュ制御: public");
- header("Content-Description: File Transfer");
-
- //スイッチで生成された Content-Type を使用します
- header("Content-Type: $ctype");
//ダウンロードを強制します
- $header="Content-Disposition:attachment; filename=".$filename.";";
- header($header );
- header("Content-Transfer-Encoding: binary");
- header ("Content-Length: ".$len);
- @readfile($file);
- exit;
- }
- ?>
-
复制代
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31