php下载远程大文件(获取远程文件大小)的实例


Posted in PHP onJune 17, 2017

废话不多说,直接上代码

<?php
  // 暂不支持断点续传
  // $url = 'http://www.mytest.com/debian.iso'; 不知道为何获取本地文件大小为0
  $url = 'http://192.168.8.93/download/vm-672/18/0.vmdk';
  $file = basename($url);
  $header = get_headers($url, 1);
  $size = $header['Content-Length'];

  $fp = fopen($url, 'rb');
  if ($fp === false) exit('文件不存在或打开失败');

  header('Content-Description: File Transfer');
  header('Content-Type: application/octet-stream');
  header('Content-Disposition: attachment; filename="'.$file.'"');
  header('Content-Transfer-Encoding: binary');
  header('Expires: 0');
  header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  header('Pragma: public');
  header('Content-Length: ' . $size);

  ob_clean();
  ob_end_flush();
  set_time_limit(0);
  
  $chunkSize = 1024 * 1024;
  while (!feof($fp)) {
    $buffer = fread($fp, $chunkSize);
    echo $buffer;
    ob_flush();
    flush();
  }
  fclose($fp);
  exit;

以上这篇php下载远程大文件(获取远程文件大小)的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
使用PHP和XSL stylesheets转换XML文档
Oct 09 PHP
PHP中的cookie
Nov 26 PHP
php巧获服务器端信息
Dec 06 PHP
PHP CURL模拟GET及POST函数代码
Apr 25 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
May 27 PHP
浅析PHP的ASCII码转换类
Jul 05 PHP
php使浏览器直接下载pdf文件的方法
Nov 15 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 PHP
Laravel5中防止XSS跨站攻击的方法
Oct 10 PHP
PHP实现的curl批量请求操作示例
Jun 06 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
Jul 20 PHP
php提供实现反射的方法和实例代码
Sep 17 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
Jun 17 #PHP
PHP 7安装调试工具Xdebug扩展的方法教程
Jun 17 #PHP
thinkphp查询,3.X 5.0方法(亲试可行)
Jun 17 #PHP
php 生成加密公钥加密私钥实例详解
Jun 16 #PHP
详解yii2使用多个数据库的案例
Jun 16 #PHP
详解Yii2.0使用AR联表查询实例
Jun 16 #PHP
详解Yii2 之 生成 URL 的方法
Jun 16 #PHP
You might like
PHP的单引号和双引号 字符串效率
2009/05/27 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
如何让您的中波更粗更长 - 中波框形天线制作
2021/03/10 无线电
javascript 模拟JQuery的Ready方法实现并出现的问题
2009/12/06 Javascript
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
详解python函数传参是传值还是传引用
2018/01/16 Python
python中numpy的矩阵、多维数组的用法
2018/02/05 Python
python中的闭包函数
2018/02/09 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
Python内置数据类型list各方法的性能测试过程解析
2020/01/07 Python
如何给Python代码进行加密
2020/01/10 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
Python读取二进制文件代码方法解析
2020/06/22 Python
python中round函数保留两位小数的方法
2020/12/04 Python
美国创意之家:BulbHead
2017/07/12 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
介绍一下你对SOA的认识
2016/04/24 面试题
小学岗位竞聘方案
2014/01/22 职场文书
生日寄语大全
2014/04/08 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
2015年保洁员工作总结
2015/05/04 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
使用pytorch实现线性回归
2021/04/11 Python