位置: 编程技术 - 正文

PHP搭建大文件切割分块上传功能示例(php处理大文件)

编辑:rootadmin

推荐整理分享PHP搭建大文件切割分块上传功能示例(php处理大文件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:简单的php文件,php处理大文件,php 大文件下载,php大文件导出,php大文件导出,php处理大文件,php大文件导出,php大文件导出,内容如对您有帮助,希望把文章链接给更多的朋友!

背景

在网站开发中,文件上传是很常见的一个功能。相信很多人都会遇到这种情况,想传一个文件上去,然后网页提示“该文件过大”。因为一般情况下,我们都需要对上传的文件大小做限制,防止出现意外的情况。 但是在有些业务场景中,大文件上传又是必须的,比如邮箱附件,或者内部OA等等。

问题

服务端为什么不能直接传大文件?跟php.ini里面的几个配置有关

当然不能简单粗暴的把上面几个值调大,否则服务器内存资源吃光是迟早的问题。

解决思路

好在HTML5开放了新的FILE API,也可以直接操作二进制对象,我们可以直接在浏览器端实现文件切割,按照以前的做法就得用Flash的方案,实现起来会麻烦很多。

JS思路

1.监听上传按钮的onchange事件

2.获取文件的FILE对象

PHP搭建大文件切割分块上传功能示例(php处理大文件)

3.把文件的FILE对象进行切割,并且附加到FORMDATA对象中

4.把FORMDATA对象通过AJAX发送到服务器

5.重复3、4步骤,直到文件发送完。

PHP思路

1.建立上传文件夹

2.把文件从上传临时目录移动到上传文件夹

3.所有的文件块上传完成后,进行文件合成

4.删除文件夹

5.返回上传后的文件路径

DEMO代码

前端部分代码

PHP部分代码

存在的问题

这只是一个简单的DEMO,有很多地方需要改进,比如上传的文件夹与临时文件放在一起,用户中途取消也没有发请求进行清理,容易造成文件冗余。JS采用的是同步模型,文件需要一块一块按顺序上传,会导致整个浏览器在上传的过程中出于堵塞的状态,按了按钮可能需要几秒钟才能反应过来,用户体验不好。真正需要产品化的时候就要综合考虑多种情况,当然作为一个示例,引导大家了解分块上传的思路还是不错的。

标签: php处理大文件

本文链接地址:https://www.jiuchutong.com/biancheng/296218.html 转载请保留说明!

上一篇:php与c 实现按行读取文件实例代码(php如何实现)

下一篇:CI框架实现优化文件上传及多文件上传的方法(ci框架教程)

  • 收到个税手续费退费会计分录
  • 其他应收款是负数怎么报税
  • 未开票收入如何红冲
  • 其他应付款属于哪类
  • 收到赔偿款怎么做分录
  • 月末在产品的原材料定额费用计算公式
  • 外币借款汇兑差额计入什么科目
  • 外籍个人工资薪金汇出境
  • 企业合并有几种
  • 清算固定资产处置方案
  • 单位聘请的临时工请假旅游
  • 员工离职 社保
  • 本月没开票怎么报税
  • 土地增值税清算利息扣除规定
  • 营业收入在财务报表上跟实际多出来怎么解释
  • 盈余公积什么时候调整
  • 企业所得税赞助费是否可税前扣除
  • 哪些费用可以抵扣进项税吗
  • 增值税普通发票几个点
  • 12月的发票可以1月付款吗
  • 一次发放数月的高温津贴如何计算个税?
  • 安置残疾人员加计扣除
  • 工程上的材料费进什么科目
  • 公司增资的方式有什么
  • php array_replace
  • 个人多交社保划不划算
  • 2022年苹果iphone14一个几个颜色
  • php字符串变量
  • PHP:ereg_replace()的用法_Regex正则函数
  • 建筑企业挂靠违法吗
  • PHP:pg_convert()的用法_PostgreSQL函数
  • css禁用button按钮
  • php pulsar
  • 增资后股权转让
  • 购买股票的佣金计入
  • 员工旅游的费用可以税前扣除吗
  • 土地使用权的折旧年限和折旧方法
  • 环境检测费计入什么科目
  • js获取本机ip地址
  • 跟日期有关的名字
  • 增资会计
  • 购买需要安装的设备计入什么科目
  • 什么是记账凭证账务处理程序
  • 应收账款收不回来
  • Python函数怎么返回
  • Windows上PostgreSQL安装配置教程
  • php安装不上
  • 出租无形资产取得的收益计入什么科目
  • sql2008r2怎么用
  • 免征增值税的会计处理
  • 劳务分包劳务费付款比例
  • 超过认证期专用发票怎么办
  • 行政单位汽车加油无明细怎么办
  • 发行债券支付的发行费用计入哪里
  • 发行价格另支付发行费用
  • 我国税收税类中的流转税
  • 税控盘费用进什么科目
  • 企业购进的固定资产
  • 商业地产会计账务怎么做
  • 工程行业收到工程发票
  • 公司成本核算流程
  • 新成立公司会计未来规划
  • Suse Linux 10中MySql安装与配置步骤
  • 配置windouws update
  • win8怎么禁用强制驱动签名
  • myfastupdate.exe - myfastupdate是什么进程文件 有什么用
  • windows8.1的图片
  • Animation.setFillAfter and Animation.setFillBefore的作用
  • web直接打印
  • 不使用jsp
  • 微信jssdk vue
  • jQuery+PHP+MySQL实现无限级联下拉框效果
  • jquery对话框组件
  • python打包可执行pyx
  • 国家税务总局通知公告
  • 医生算是公务员吗?
  • 联合国英文全称和缩写
  • 实地税务稽查需注意什么
  • 中国的消费税是什么
  • 运输合同的印花税怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设