php实现文件下载(多种文件格式)的代码

php中文网
发布: 2016-07-25 08:58:52
原创
1238人浏览过
  1. /**

  2. * 文件下载
  3. * 多种文件格式,包括pdf、zip、gif、jpg、mpeg、word等。
  4. * edit bbs.it-home.org
  5. */
  6. function dl_file($file){
  7. //first, see if the file exists
  8. if (!is_file($file)) { die("404 file not found!"); }
  9. //Gather relevent info about file

  10. $len = filesize($file);
  11. $filename = basename($file);
  12. $file_extension = strtolower(substr(strrchr($filename,"."),1));
  13. //This will set the Content-Type to the appropriate setting for the file

  14. switch( $file_extension ) {
  15. case "pdf": $ctype="application/pdf"; break;
  16. case "exe": $ctype="application/octet-stream"; break;
  17. case "zip": $ctype="application/zip"; break;
  18. case "doc": $ctype="application/msword"; break;
  19. case "xls": $ctype="application/vnd.ms-excel"; break;
  20. case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
  21. case "gif": $ctype="image/gif"; break;
  22. case "png": $ctype="image/png"; break;
  23. case "jpeg":
  24. case "jpg": $ctype="image/jpg"; break;
  25. case "mp3": $ctype="audio/mpeg"; break;
  26. case "wav": $ctype="audio/x-wav"; break;
  27. case "mpeg":
  28. case "mpg":
  29. case "mpe": $ctype="video/mpeg"; break;
  30. case "mov": $ctype="video/quicktime"; break;
  31. case "avi": $ctype="video/x-msvideo"; break;
  32. //The following are for extensions that shouldn't be downloaded (sensitive stuff, like php files)

  33. case "php":
  34. case "htm":
  35. case "html":
  36. case "txt": die("Cannot be used for ". $file_extension ." files!"); break;
  37. default: $ctype="application/force-download";

    jQuery+PHP实现微信大转盘抽奖
    jQuery+PHP实现微信大转盘抽奖

    微信大转盘抽奖-jQuery+PHP实现,发现很多转盘抽奖,都实现了前台部分,大部分都使用了HTML5技术,但是后台自己调整抽奖几率不方便,索性自己收集资料,在一个转盘抽奖的基础上,增加了PHP部分代码,可以对抽奖几率进行自定义,设置请参考data.php文件,相关部分给出了注释。

    jQuery+PHP实现微信大转盘抽奖 0
    查看详情 jQuery+PHP实现微信大转盘抽奖
  38. }

    立即学习PHP免费学习笔记(深入)”;

  39. //Begin writing headers

  40. header("Pragma: public");
  41. header("Expires: 0");
  42. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  43. header("Cache-Control: public");
  44. header("Content-Description: File Transfer");
  45. //Use the switch-generated Content-Type
  46. header("Content-Type: $ctype");
  47. //Force the download

  48. $header="Content-Disposition: attachment; filename=".$filename.";";
  49. header($header );
  50. header("Content-Transfer-Encoding: binary");
  51. header("Content-Length: ".$len);
  52. @readfile($file);
  53. exit;
  54. }
  55. ?>
复制代码


PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号