php 分段下载文件,php如何实现自动分段下载文件(代码示例)
本篇文章给大家带来的内容是关于php如何实现自动分段下载文件(代码示例) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。function download($file_dir,$file_name)
//参数说明:
//file_dir:文件所在目录
//file_name:文件名
{
$file_dir = chop($file_dir);//去掉路径中多余的空格
//得出要下载的文件的路径
if($file_dir != '')
{
$file_path = $file_dir;
if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) != '/')
$file_path .= '/';
$file_path .= $file_name;
}
else
$file_path = $file_name;
//判断要下载的文件是否存在
if(!file_exists($file_path))
{
echo '对不起,你要下载的文件不存在。';
return false;
}
$file_size = filesize($file_path);
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: $file_size");
header("Content-Disposition: attachment; filename=".$file_name);
$fp = fopen($file_path,"r");
$buffer_size = 1024;
$cur_pos = 0;
while(!feof($fp)&&$file_size-$cur_pos>$buffer_size)
{
$buffer = fread($fp,$buffer_size);
echo $buffer;
$cur_pos += $buffer_size;
}
$buffer = fread($fp,$file_size-$cur_pos);
echo $buffer;
fclose($fp);
return true;
}
相关推荐:
php 分段下载文件,php如何实现自动分段下载文件(代码示例)相关推荐
- 自动备份html文件,windows下定期自动备份本地文件(文件夹)
虽然网上有一些免费的文件自动备份软件,但是没有自己编写一段批处理来完成备份任务来的放心,而且不用占用系统资源. 就给大家讲一下如何利用批处理完成本地文件或者文件夹的备份. 1.批处理脚本 该方法可把某 ...
- 无模板文件如何使用FME自动合并dwg文件
规划测绘类生产的电子成果数据多采用CAD格式进行标准分幅或者任意分区存储成多个dwg文件.数据中含有丰富的实体类型,包含了块参照.线.填充.标注.文字.圆弧等,如下图. 在对数据进行格式转换和坐标转换 ...
- Redis 中的 持久化 RDB持久化 SAVE:阻塞服务器并创建RDB文件 BGSAVE:以非阻塞方式创建RDB文件 通过配置选项自动创建RDB文件
这里写目录标题 15.1 RDB持久化 15.1.1 SAVE:阻塞服务器并创建RDB文件 其他信息 15.1.2 BGSAVE:以非阻塞方式创建RDB文件 其他信息 15.1.3 通过配置选项自动创 ...
- unity lua热重载,编辑器下检查lua文件的变化,前端自动热更lua代码
FileSystemWatcher这里主要用到的一个c#系统类 https://docs.microsoft.com/zh-cn/dotnet/api/system.io.filesystemwatc ...
- 【Spring】使用 Spring 框架实现文件上传及切片上传的代码示例,非常长,建议挑选适合的看
实现文件上传及切片上传 使用 Spring 框架结合阿里云 OSS 实现文件上传的代码示例 POM文件配置 文件上传工具类 控制层 使用yaml配置文件(第二种用法,看公司要求) 注入 OSSClie ...
- python做相册_《自拍教程73》Python 自动生成相册文件夹
案例故事: 接Python mediainfo批量重命名图片文件,测试图片是批量重命名好了, 但是将测试图片放于一个文件夹相册,图库App并不能显示图片信息, 为了测试的方便性, 需要把图片放到对应的 ...
- python制作相册_《自拍教程73》Python 自动生成相册文件夹
这里将告诉您<自拍教程73>Python 自动生成相册文件夹,具体操作过程:案例故事: 接Python mediainfo批量重命名图片文件,测试图片是批量重命名好了, 但是将测试图片放于 ...
- linux mdev 命令,linux设备驱动----利用mdev(udev)自动创建设备文件节点
1.mdev的使用方法和原理: mdev是busybox 自带的一个简化版的udev,适合于嵌入式的应用埸合.其具有使用简单的特点.它的作用,就是在系统启动和热插拔或动态加载驱动程序时,自动产生驱动程 ...
- 使用tushare下载指定股票日线数据并存为excel文件
freepy下载 前一篇介绍转换本机通达信软件下载的个股日线数据,这一篇内容是从网络下载个股数据并存为excel文件. 也是使用freepy工具,这个工具的优点是不需要安装庞大的python开发环境, ...
最新文章
- Python:urllib2模块Handler处理器 和 自定义Opener
- 百利而无一害的技术——Linux
- winform实现翻书效果_虚拟翻书系统解决方案
- 操作系统就是一个“死循环”?
- 142. Linked List Cycle II 环形链表 II
- 2018.09.16模拟总结
- javascript option 菜单图标_苹果电脑上神奇的Option键 巧用option键提升效率
- 7.8 服务暴露总结
- 推荐30款最佳的数据可视化工具
- 凯撒密码加密器(命令行版)
- python语言程序设计实践教程答案实验二_20192428 实验二《Python程序设计》实验报告...
- Layout state should be one of 100 but it is 10
- WinMTR-路由追踪软件
- python三维图形注释_Python使用注释绘制3D点
- 想让Button带个图片?安排!LVGL『Image button图片按键控件』介绍
- android自定义通知栏样式,Android 通知栏自定义样式
- bootStrap常用样式
- 像素生存者2服务器无响应,像素生存者2闪退掉线黑屏怎么办?如何解决
- 云帆教育大数据分享-Flume-0.9.4源码编译及一些编译出错解决方法
- 通过环境变量形式指定Datagrip的datagrip64.exe.vmoptions位置
热门文章
- Arduino驱动HC-05蓝牙模块
- optfine的jar文件打不开_电脑如果打不开jar文件的解决办法
- [附源码]java毕业设计高校学生资助信息系统
- twine上传的坑:pkg_resources.DistributionNotFound: The ‘docutils>=0.13.1‘ distribution was not found
- TS2307: Cannot find module ‘@/assets/home/banner1.webp‘ or its corresponding type declarations.
- linux粘滞位权限,Linux中的特殊权限粘滞位(sticky bit)详解
- mysql可以存文档_MySQL 文档存储介绍
- VUE项目部署Tomcat页面刷新404问题解决方法
- 云计算机的部署模式,云计算的服务模式和部署模式
- oracle 取上季末日期,怎么获取上上个季度最后一天日期