php下载远程大文件(获取远程文件大小)的实例
作者:jingxian 发布时间:2024-05-03 15:29:47
标签: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;


猜你喜欢
- INI是微软Windows操作系统中的文件扩展名。这些字母表示初始化。正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参
- 本文涵盖了一个简单的C实现的搜索引擎的搭建始末。我通常使用SQL Server和C #,但我教C/C++的朋友要远离微软。在过去
- []*int是一个指向指针的切片,本质上是切片,只不过切片里面存放的元素是指针;*[]int是一个指向切片的指针,本质上是指针,可以用*来获
- 本文实例讲述了python获取文件后缀名及批量更新目录下文件后缀名的方法。分享给大家供大家参考。具体实现方法如下:1. 获取文件后缀名:#!
- 对象数组中匹配某个属性值如果有一个js对象数组,一个变量如下var a = [ {  
- 本文实例为大家分享了python tkinter库实现气泡屏保和锁屏的具体代码,供大家参考,具体内容如下显示效果如下:代码: im
- 本文实例为大家分享了python绘制分组对比柱状图的具体代码,供大家参考,具体内容如下首先放效果图: # -*- co
- 1、一般CentOS默认安装了mariadb,所以先查看是否安装mariadb,如果安装就需要先卸载mariadbrpm -qa|grep
- 布局管理就是管理图形窗口中各个部件的位置和排列。图形窗口中的大量部件也需要通过布局管理,对部件进行整理分组、排列定位,才能使界面整齐有序、美
- MySQL里Create Index 能否创建主键 Primary Key? 答案: 不能,必须用 Alter table 创建。 MySQ
- 由于go对私有gitlab的仓库支持不好,得使用下面这些步骤设置git使用 ssh协议git config --global url.&qu
- 需要把ip地址转换为10进制数,然后也可以把10进制数转化为ip地址,计算机ping这个十进制数可以ping通对应的ip地址,说明已经实现功
- 例如,有一个字典如下:>>> dic = {"name": "botoo",&qu
- 今天写了一个获取当前公网ip并且自动断开宽带连接的文件,和大家分享下。这个文件的具体用途大家懂的,可以尽管拿去用,不过目前只适用于Windo
- 我们在使用selenium库调用Chromedriver.exe时需要很多的配置参数下面列出了常用参数chrome_options.add_
- 目录Mock概念Mock类简单的例子体验下 Mock 的功能特点一个相对正式的 Mock 例子一个完整的测试例子断言方法Mock概念mock
- 本文实例为大家分享了python绘制彩虹图的具体代码,供大家参考,具体内容如下代码:from turtle import *#控制彩虹路径d
- 使用Flask-SQLAlchemy管理数据库Flask-SQLAlchemy是一个Flask扩展,它简化了在Flask应用程序中对SQLA
- 本文实例讲述了python简单实现基数排序算法。分享给大家供大家参考。具体实现方法如下:from random import randint
- Javascript中的对像赋值与Java中是一样的,都为引用传递.就是说,在把一个对像赋