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

 更新时间:2017年06月17日 09:50:28   投稿:jingxian  
下面小编就为大家带来一篇php下载远程大文件(获取远程文件大小)的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

废话不多说,直接上代码

<?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 截取中英文混合字符串的方法

    这篇文章主要介绍了php 截取中英文混合字符串,需要的朋友可以参考下
    2018-05-05
  • typecho插件编写教程(六):调用接口

    typecho插件编写教程(六):调用接口

    这篇文章主要介绍了typecho插件编写教程(六):调用接口,这是系列文章的最后一篇,需要的朋友可以参考下
    2015-05-05
  • WAF的正确bypass

    WAF的正确bypass

    这篇文章主要介绍了WAF的正确bypass的相关资料,需要的朋友可以参考下
    2017-01-01
  • tp5(thinkPHP5)框架数据库Db增删改查常见操作总结

    tp5(thinkPHP5)框架数据库Db增删改查常见操作总结

    这篇文章主要介绍了tp5(thinkPHP5)框架数据库Db增删改查常见操作,结合实例形式总结分析了thinkPHP5框架数据库的增删改查常见操作技巧与相关注意事项,需要的朋友可以参考下
    2019-01-01
  • Yii CGridView用法实例详解

    Yii CGridView用法实例详解

    这篇文章主要介绍了Yii CGridView用法,结合实例形式分析了CGridView的功能、用法与相关属性用法,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 基于PHP-FPM进程池探秘

    基于PHP-FPM进程池探秘

    下面小编就为大家带来一篇基于PHP-FPM进程池探秘。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • PHP实现的多彩标签效果代码分享

    PHP实现的多彩标签效果代码分享

    这篇文章主要介绍了PHP实现的多彩标签效果代码分享,经常可以看到一些博客中的标签(TAGS)页面是彩色的效果展现,本文就给出了实现这个功能的PHP代码,需要的朋友可以参考下
    2014-08-08
  • php二维数组排序与默认自然排序的方法介绍

    php二维数组排序与默认自然排序的方法介绍

    本篇文章介绍了,在php中二维数组排序与默认自然排序的方法。需要的朋友参考下
    2013-04-04
  • php不使用插件导出excel的简单方法

    php不使用插件导出excel的简单方法

    这篇文章主要介绍了php不使用插件导出excel的简单方法,首先获取需要导出的数据的数组,数组的格式在下面。之后就是定义文件名称和需要导出的excel的样式,最后就是循环数组,输出数据了
    2014-03-03
  • set_exception_handler函数在ThinkPHP中的用法

    set_exception_handler函数在ThinkPHP中的用法

    这篇文章主要介绍了set_exception_handler函数在ThinkPHP中的用法,分析了官方给出了set_exception_handler函数用法说明及示例,并讲述了在ThinkPHP中的应用实例,需要的朋友可以参考下
    2014-10-10

最新评论