如何实现PHP大文件断点续传下载功能?

2026-03-27 06:441阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计620个文字,预计阅读时间需要3分钟。

如何实现PHP大文件断点续传下载功能?

通常来说,浏览器同时下载多个文件,如PDF文档,服务器端可能会将这些文件压缩成一个文件。但这会导致服务器CPU和IO资源消耗增加。是否有方法,用户下载了几个文件后,能直接在浏览器中解压?

一般来说浏览器要同时下载几个文件,比如pdf文件,会在服务器端把几个文件压缩成一个文件。但是导致的问题就是会消耗服务器的cpu和io资源。

那有没有办法,用户点了几个文件,在客户端同时下载呢? 支持html5的浏览器是可以的,html的a标签有一个属性download

如何实现PHP大文件断点续传下载功能?

<a download="下载的1.pdf" href="1.pdf" rel="external nofollow" rel="external nofollow" >单个文件下载</a>, 经过测试在edge浏览器,firefox和chrome都支持。但是遗憾的是ie浏览器不支持。参考下面的例子。

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta res2.ncmem.com/res/images/ie11.png" } , { fileUrl: "res2.ncmem.com/res/images/up6.1/down.png" } , { fileUrl: "res2.ncmem.com/res/images/firefox.png" } , { fileUrl: "res2.ncmem.com/res/images/edge.png" } , { fileUrl: "res2.ncmem.com/res/images/up6.1/cloud.png" } , { fileUrl: "res2.ncmem.com/res/images/home/w.png" } , { fileUrl: "res2.ncmem.com/res/images/img.png" } ]; downer.app.addUrls(urls); });

当成一个文件夹下载

$("#btn-down-json").click(function() { if (downer.Config["Folder"] == "") { downer.open_folder(); return; } var fd = { nameLoc: "图片列表" , files: [ { fileUrl: "res2.ncmem.com/res/images/ie11.png" } , { fileUrl: "res2.ncmem.com/res/images/up6.1/down.png" } , { fileUrl: "res2.ncmem.com/res/images/firefox.png" } , { fileUrl: "res2.ncmem.com/res/images/edge.png" } , { fileUrl: "res2.ncmem.com/res/images/up6.1/cloud.png" } , { fileUrl: "res2.ncmem.com/res/images/home/w.png" } , { fileUrl: "res2.ncmem.com/res/images/img.png" } ] }; downer.app.addJson(fd); });

下载多级目录

$("#btn-down-fd").click(function() { if (downer.Config["Folder"] == "") { downer.open_folder(); return; } var fd = { nameLoc: "测试文件夹" , files: [ { fileUrl: "www.ncmem.com/images/ico-ftp.jpg" } , { fileUrl: "www.ncmem.com/images/ico-up.jpg" } ] , folders: [ { nameLoc: "图片1" , files: [ { fileUrl: "www.ncmem.com/images/ico-ftp.jpg" } , { fileUrl: "www.ncmem.com/images/ico-up.jpg" } , { fileUrl: "www.ncmem.com/images/ico-capture.jpg" } , { fileUrl: "www.ncmem.com/images/ico-imageuploader.gif" } , { fileUrl: "www.ncmem.com/images/ico-wordpaster.gif" } ] , folders: [ { nameLoc: "软件" , files: [ { fileUrl: "res2.ncmem.com/res/images/edit-file.png" } ] } ] } ] }; downer.app.addJson(fd); });

自定义下载文件名称

$("#btn-down-svr").click(function () { if (downer.Config["Folder"] == "") { downer.open_folder(); return; } var urls = [ { fileUrl: "localhost:90/db/down.aspx", nameLoc: "test.exe" } , { fileUrl: "localhost:90/db/down.aspx", nameLoc: "test-1.exe" } ]; downer.app.addUrls(urls); });

实现效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

标签:断点

本文共计620个文字,预计阅读时间需要3分钟。

如何实现PHP大文件断点续传下载功能?

通常来说,浏览器同时下载多个文件,如PDF文档,服务器端可能会将这些文件压缩成一个文件。但这会导致服务器CPU和IO资源消耗增加。是否有方法,用户下载了几个文件后,能直接在浏览器中解压?

一般来说浏览器要同时下载几个文件,比如pdf文件,会在服务器端把几个文件压缩成一个文件。但是导致的问题就是会消耗服务器的cpu和io资源。

那有没有办法,用户点了几个文件,在客户端同时下载呢? 支持html5的浏览器是可以的,html的a标签有一个属性download

如何实现PHP大文件断点续传下载功能?

<a download="下载的1.pdf" href="1.pdf" rel="external nofollow" rel="external nofollow" >单个文件下载</a>, 经过测试在edge浏览器,firefox和chrome都支持。但是遗憾的是ie浏览器不支持。参考下面的例子。

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta res2.ncmem.com/res/images/ie11.png" } , { fileUrl: "res2.ncmem.com/res/images/up6.1/down.png" } , { fileUrl: "res2.ncmem.com/res/images/firefox.png" } , { fileUrl: "res2.ncmem.com/res/images/edge.png" } , { fileUrl: "res2.ncmem.com/res/images/up6.1/cloud.png" } , { fileUrl: "res2.ncmem.com/res/images/home/w.png" } , { fileUrl: "res2.ncmem.com/res/images/img.png" } ]; downer.app.addUrls(urls); });

当成一个文件夹下载

$("#btn-down-json").click(function() { if (downer.Config["Folder"] == "") { downer.open_folder(); return; } var fd = { nameLoc: "图片列表" , files: [ { fileUrl: "res2.ncmem.com/res/images/ie11.png" } , { fileUrl: "res2.ncmem.com/res/images/up6.1/down.png" } , { fileUrl: "res2.ncmem.com/res/images/firefox.png" } , { fileUrl: "res2.ncmem.com/res/images/edge.png" } , { fileUrl: "res2.ncmem.com/res/images/up6.1/cloud.png" } , { fileUrl: "res2.ncmem.com/res/images/home/w.png" } , { fileUrl: "res2.ncmem.com/res/images/img.png" } ] }; downer.app.addJson(fd); });

下载多级目录

$("#btn-down-fd").click(function() { if (downer.Config["Folder"] == "") { downer.open_folder(); return; } var fd = { nameLoc: "测试文件夹" , files: [ { fileUrl: "www.ncmem.com/images/ico-ftp.jpg" } , { fileUrl: "www.ncmem.com/images/ico-up.jpg" } ] , folders: [ { nameLoc: "图片1" , files: [ { fileUrl: "www.ncmem.com/images/ico-ftp.jpg" } , { fileUrl: "www.ncmem.com/images/ico-up.jpg" } , { fileUrl: "www.ncmem.com/images/ico-capture.jpg" } , { fileUrl: "www.ncmem.com/images/ico-imageuploader.gif" } , { fileUrl: "www.ncmem.com/images/ico-wordpaster.gif" } ] , folders: [ { nameLoc: "软件" , files: [ { fileUrl: "res2.ncmem.com/res/images/edit-file.png" } ] } ] } ] }; downer.app.addJson(fd); });

自定义下载文件名称

$("#btn-down-svr").click(function () { if (downer.Config["Folder"] == "") { downer.open_folder(); return; } var urls = [ { fileUrl: "localhost:90/db/down.aspx", nameLoc: "test.exe" } , { fileUrl: "localhost:90/db/down.aspx", nameLoc: "test-1.exe" } ]; downer.app.addUrls(urls); });

实现效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

标签:断点