温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在php中使用header函数下载文件

发布时间:2020-12-21 16:38:23 阅读:168 作者:Leah 栏目:开发技术
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这期内容当中小编将会给大家带来有关怎么在php中使用header函数下载文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

具体内容如下

<?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_tempfilesize $file ) );
 fclose $file_temp );
 
 exit ();
}

?>

上述就是小编为大家分享的怎么在php中使用header函数下载文件了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×