<?php
$file_name="test.mp4";//需要下载的文件
$fp=fopen($file_name,"r+");//下载文件必须先要将文件打开,写入内存
if(!file_exists($file_name)){//判断文件是否存在
    echo "文件不存在";
    exit();
}
$file_size=filesize($file_name);//判断文件大小
//返回的文件
Header("Content-type: application/octet-stream");
//按照字节格式返回
Header("Accept-Ranges: bytes");
//返回文件大小
Header("Accept-Length: ".$file_size);
//弹出客户端对话框,对应的文件名
Header("Content-Disposition: attachment; filename=".$file_name);
//防止服务器瞬时压力增大,分段读取
$buffer=1024;
while(!feof($fp)){
    $file_data=fread($fp,$buffer);
    echo $file_data;
}
//关闭文件
fclose($fp);
?>

最新文章

  1. TTTAttributedLabel xib sb lineSpacing not working
  2. C++11 thread
  3. Python全栈考试-部分试题(精选)
  4. CSS3入门之边框与背景
  5. Android基于mAppWidget实现手绘地图(十)–在放大前后执行一些操作
  6. vim一些常用的快捷键
  7. (十)Linux 网络编程之ioctl函数
  8. Windows 8.1 Enterprise 下 安装 Eclipse 官方中文包后无法输入任何内容
  9. Linux操作系统基础(完结)
  10. [CareerCup] 10.7 Simplified Search Engine 简单的搜索引擎
  11. Nodejs电影建站开发实例(下)
  12. Eclipse内置Tomcat的配置
  13. sysconf和pathconf使用
  14. mongodb的查询操作符
  15. C++编程规范之12:懂得何时和如何进行并发性编程
  16. c语言,链表
  17. Unity3D开发一个2D横版射击游戏
  18. Python必备库
  19. resultset 查询时返回多个相同值
  20. Leetcode 75.颜色分类 By Python

热门文章

  1. 手把手教你玩微信小程序跳一跳
  2. Service官方教程(11)Bound Service示例之2-AIDL 定义跨进程接口并通信
  3. Android开发学习——android数据存储
  4. tuple元组创建单元素
  5. C# 判断是否移动设备
  6. AJPFX详解jsp的九大内置对象和四大作用域
  7. Burp Suite集成sqlmap
  8. R in action读书笔记(5)-第七章:基本统计分析
  9. nginx负载均衡浅析
  10. 使用Jenkins进行android项目的自动构建(5)