1. /**
  2. * @author      default7<default7@zbphp.com>
  3. * @description 演示PHP弹出下载的原理
  4. *
  5. * @param $file_name
  6. */
  7. function downFile($file_name)
  8. {
  9. $file_path = "/tmp/" . $file_name;
  10. $buffer = 102400; //一次返回102400个字节
  11. if (!file_exists($file_path)) {
  12. echo "<script type='text/javascript'> alert('对不起!该文件不存在或已被删除!'); </script>";
  13. return;
  14. }
  15. $fp = fopen($file_path, "r");
  16. $file_size = filesize($file_path);
  17. $file_data = '';
  18. while (!feof($fp)) {
  19. $file_data .= fread($fp, $buffer);
  20. }
  21. fclose($fp);
  22. //Begin writing headers
  23. header("Pragma: public");
  24. header("Expires: 0");
  25. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  26. header("Cache-Control: public");
  27. header("Content-Description: File Transfer");
  28. header("Content-type:application/octet-stream;");
  29. header("Accept-Ranges:bytes");
  30. header("Accept-Length:{$file_size}");
  31. header("Content-Disposition:attachment; filename={$file_name}");
  32. header("Content-Transfer-Encoding: binary");
  33. echo $file_data;
  34. }

PHP 弹出文件下载 原理 代码的更多相关文章

  1. jQuery弹出窗口完整代码

    jQuery弹出窗口完整代码 效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/1.htm 1 <!DOCTYPE html PUBLIC "- ...

  2. jquery层居中,点击小图查看大图,弹出层居中代码,顶部层固定不动,滚动条滚动情况

    jquery层居中,点击小图查看大图,弹出层居中代码 http://www.cnblogs.com/simpledev/p/3566280.html 见第一版,发现一个情况,如果页面内容多出一屏的情况 ...

  3. 基于jQuery图片弹出翻转特效代码

    分享一款基于jQuery图片弹出翻转特效代码.这是一款基于jQuery+HTML5实现的,里面包含六款不同效果的鼠标点击图片弹出特效下载.效果图如下: 在线预览   源码下载 实现的代码. html代 ...

  4. PHP 弹出文件下载

    /** * @author default7<default7@zbphp.com> * @description 演示PHP弹出下载的原理 * * @param $file_name * ...

  5. 使用DIV弹出框的代码示例,备忘。

    1.思路 使用DIV模拟弹出框,一共用三个div: divWindow: 原来的界面内容区域 divLogin:要弹出的内容区域 divBackground:给弹出内容区域做个遮罩的区域. 点击 “请 ...

  6. HTML页面弹出窗口调整代码总结

    弹出跟你当前的窗口有没有菜单工具栏没有关系,你只要在页面中写一个脚本它就弹出了.比如<a href=# onclick="window.open('xxx.aspx','窗口名称',' ...

  7. Android封装类似微信的顶部TitleBar弹出的PopupWindow代码

    Android仿微信顶部titlebar,点击加号弹出的PopupWindow,是封装好的PopupWindow,直接拿来用即可,先看效果图:  调用代码非常简单,这是MainActivity的代码: ...

  8. jquery-创建弹出框原理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. jquery层居中,点击小图查看大图,弹出层居中代码

    1.层居中 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

随机推荐

  1. Crystal Report Error: Either the Crystal Reports registy key permission are insufficient or the Crystal Reports runtime is not installed correctly

    在64位 Windows 7中水晶报表的错误: Crystal Report Error: Either the Crystal Reports registy key permission are ...

  2. java 百分比显示Double类型数值

    DecimalFormat percent = new DecimalFormat("0.00%"); completed_num = (double) involvedTask_ ...

  3. 前端开发 —— BOM

    0. BOM vs. DOM BOM:Browser Object Model,浏览器对象模型,是在 web 中使用 JavaScript 的绝对核心: BOM:提供了独立于内容而与浏览器窗口进行交互 ...

  4. mysql命令小结

    MySQL 数据库常用命令 1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删 ...

  5. OK335xS U-boot 编译问题&无Linux shell 问题

    /************************************************************************** * OK335xS U-boot 编译问题&am ...

  6. OK335xS Ubuntu 12.04.1 版本 Android 开发环境搭建

    /******************************************************************************************** * OK33 ...

  7. CodeForces - 1087F:Rock-Paper-Scissors Champion(set&数状数组)

    n players are going to play a rock-paper-scissors tournament. As you probably know, in a one-on-one ...

  8. 蓝桥杯 BASIC-9:特殊回文数

      基础练习 特殊回文数   时间限制:1.0s   内存限制:512.0MB        问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这 ...

  9. 一键分享到各个SNS插件

    使用百度分享:http://share.baidu.com/code/advance#toid 例: HTML: <div class="bdsharebuttonbox" ...

  10. 【HAOI2010】订货

    可以DP也可以是费用流,然而被我用非常简单的DP破了[开心] 原题: 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定 ...