七寸殇

  • 主页
  • 随笔
所有文章 友链 关于我

七寸殇

  • 主页
  • 随笔

php判断文件下载完成

2017-12-27

最近业务需要实现,判断用户是否下载完成,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$filePath = "./download_img/temp.zip";  
$fileDir = "./download_img/temp/";
$fileName = "temp.zip";

$fp=fopen($filePath,"r");
$file_size=filesize($filePath);
#下载文件需要用到的头
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length:".$file_size);
Header("Content-Disposition: attachment; filename=".$fileName);
$buffer=1024; #设置一次读取的字节数,每读取一次,就输出数据(即返回给浏览器)
$file_count=0; #读取的总字节数
#向浏览器返回数据
while(!feof($fp) && $file_count<$file_size){
$file_con=fread($fp,$buffer);
$file_count+=$buffer;
echo $file_con;
}
fclose($fp);

#下载完成后删除压缩包,临时文件夹
if($file_count >= $file_size)
{
unlink($filePath);
exec("rm -rf ".$fileDir);
}

赏

谢谢你请我吃糖果

支付宝
微信
  • php
  • 下载完成

扫一扫,分享到微信

微信分享二维码
redis的在laravel框架中的安装及使用
laravel设置response响应头
© 2023 七寸殇
总访问量:, 页面访问量
  • 所有文章
  • 友链
  • 关于我

tag:

  • composer
  • 镜像
  • laravel
  • ab.exe
  • 性能测试
  • apache
  • 交换变量
  • 面试题
  • 位运算
  • 阿里云
  • git
  • django
  • python
  • hexo
  • blog
  • github
  • docker
  • docker-compose
  • eclipse
  • tomcat
  • 环境变量
  • requests
  • api
  • php
  • 下载完成
  • mysql
  • 数据库
  • 脏读
  • 不可重复读
  • 幻读
  • merge
  • 分支
  • 合并
  • abort
  • push
  • remote
  • pull
  • .gitignore
  • reset
  • hooks
  • redis
  • appends
  • 分页
  • paginate
  • header
  • response
  • linux
  • php7
  • nginx
  • 500错误
  • php.ini
  • display_errors
  • Auth
  • guard
  • session
  • 路由
  • route
  • validate
  • 验证
  • group_concat
  • concat
  • raw
  • 数据库查询
  • 一对多
  • 笛卡尔集
  • lnmp
  • find
  • 远程登录
  • 忘记密码
  • ThinkPHP
  • url重写
  • 路由重写
  • proxy_pass
  • 反向代理
  • foreach
  • 最后一个元素
  • get_cfg_var
  • ini_set
  • ini_get
  • ini_get_all
  • ini_restore
  • 反射
  • 类的所有方法
  • 命名规范
  • 闭包
  • 引用
  • pytesser
  • 图片识别
  • windows
  • tesseract-ocr
  • RESTful
  • 无状态
  • Statelessness
  • selenium
  • phantomjs
  • 爬虫
  • svn
  • 微信小程序
  • wxParse
  • 微信
  • 成语猜猜看
  • vagrant
  • while
  • 素数
  • 算法
  • ssh
  • setData
  • 上拉加载
  • log
  • 闲鱼
  • html

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

Make More Time