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

作者:jingxian 时间:2024-05-03 15:29:47 

废话不多说,直接上代码


<?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,获取,远程文件,大小,远程大文件
0
投稿

猜你喜欢

  • MYSQL数据库表设计与优化(二)

    2010-10-25 20:12:00
  • js刷新页面方法大全

    2023-08-06 21:05:34
  • ASP脚本循环语句

    2009-02-19 13:34:00
  • Python实现二叉树的最小深度的两种方法

    2022-05-24 03:30:17
  • python字典多键值及重复键值的使用方法(详解)

    2023-03-18 14:23:15
  • 如何使数据库中取出的数据保持原有格式

    2008-11-27 16:16:00
  • SQLserver 2005文件和文件组的作用说明

    2024-01-26 09:45:57
  • python中的随机数 Random介绍

    2022-05-08 09:49:03
  • Python 实现某个功能每隔一段时间被执行一次的功能方法

    2021-11-14 09:57:25
  • 在ASP中使用SQL语句之3:LIKE、NOT LIKE和 BETWEEN

    2007-08-11 12:30:00
  • 用php来改写404错误页让你的页面更友好

    2023-10-26 20:16:21
  • mysql性能优化之索引优化

    2024-01-15 13:51:44
  • python+selenium实现12306模拟登录的步骤

    2021-06-18 15:32:56
  • php5.4传引用时报错问题分析

    2023-11-14 15:03:17
  • 简单三步实现报表页面集成天气

    2024-04-25 13:08:16
  • asp怎么实现中文字符串按声母检索

    2010-05-16 21:19:00
  • 更改Mysql root用户密码

    2024-01-26 05:51:43
  • 利用hasOwnProperty给数组去重的面试题分享

    2023-08-06 20:48:37
  • 如何保持Oracle数据库的优良性能

    2009-02-26 10:39:00
  • ie9后浏览器fckeditor无法上传图片、弹出浮层内容不显示的解决方法

    2023-05-08 03:34:30
  • asp之家 网络编程 m.aspxhome.com