首页 > 语言 > PHP > 正文

php利用header函数下载各种文件

2024-05-04 23:49:19
字体:
来源:转载
供稿:网友

本文实例为大家分享了php header函数下载文件实现代码,供大家参考,具体内容如下

http://www.php.net/manual/en/function.readfile.php

<?php/*** 下载文件* header函数**/dl_file($_GET ['filename']);function dl_file($file){ $file = ".//images//" . $file; //First, see if the file exists  if (! is_file ( $file )) {  die ( "<b>404 File not found!</b>" ); }  // Gather relevent info about file $len = filesize ( $file ); $filename = basename ( $file ); $file_extension = strtolower ( substr ( strrchr ( $filename, "." ), 1 ) );  // This will set the Content-Type to the appropriate setting for the file 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";   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;  case "mp3" :   $ctype = "audio/mpeg";   break;  case "wav" :   $ctype = "audio/x-wav";   break;  case "mpeg" :  case "mpg" :  case "mpe" :   $ctype = "video/mpeg";   break;  case "mov" :   $ctype = "video/quicktime";   break;  case "avi" :   $ctype = "video/x-msvideo";   break;    // The following are for extensions that shouldn't be downloaded  // (sensitive stuff, like php files)  case "php" :  case "htm" :  case "html" :  case "txt" :   die ( "<b>Cannot be used for " . $file_extension . " files!</b>" );   break;    default :   $ctype = "application/force-download"; }   $file_temp = fopen ( $file, "r" );   // Begin writing headers header ( "Pragma: public" ); header ( "Expires: 0" ); header ( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header ( "Cache-Control: public" ); header ( "Content-Description: File Transfer" ); // Use the switch-generated Content-Type header ( "Content-Type: $ctype" ); // Force the download $header = "Content-Disposition: attachment; filename=" . $filename . ";"; header ( $header ); header ( "Content-Transfer-Encoding: binary" ); header ( "Content-Length: " . $len );   //@readfile ( $file ); echo fread ( $file_temp, filesize ( $file ) ); fclose ( $file_temp );  exit ();}?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选