位置: 编程技术 - 正文

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框架教程)

  • 资产负债表应交税费
  • 销项税减去进项税
  • 企业的企业所得税
  • 一般纳税人转小规模最新政策2022
  • 企业出售商铺需要预缴增值税吗
  • 出口退税三类企业指什么意思
  • 企业所得税资产总额怎么计算
  • 管家婆软件记账流程
  • 不能收回的应收票据
  • 项目转包是什么意思
  • 发票丢了企业所得怎么办
  • 购买房产怎么确认收入
  • 不是本单位职工可以报销差旅费吗
  • 有留抵税额的会计处理
  • 公司注册核税后如何建账?
  • 个体工商户如何给员工交社保
  • 7月1日后通用机打发票纳税人识别号怎么填?
  • 福建水利建设专业排名
  • 小型微利企业所得税优惠政策2023
  • 一般纳税人施工费税率是多少
  • 已经提完折旧的固定资产报废
  • 纳税退税申请表的基本情况如何写
  • 补提上个月折旧会计分录
  • 增值税附加税包含哪些税
  • 慈善基金会的含义
  • 增值税进项转出后企业所得税调整是含税价还是不含税价
  • 出租房屋免租期如何确认收入
  • 养殖专业合作社业务范围包括哪些
  • 生育津贴的相关法律规定
  • 收到发票未抵扣谁开红字
  • 结转消费成本的会计分录
  • 收到发票已入账什么意思
  • 跨国并购融资问题
  • win10平板模式怎么切换
  • iis防盗链
  • 所得税时间性差异与暂时性差异
  • php splqueue
  • LNMP部署laravel以及xhprof安装使用教程
  • 麦地那老城
  • 待处理流动资产净损失
  • 代订住宿费报销
  • php操作mysql数据库的扩展有哪三个
  • 对 ChatGLM-6B 做 LoRA Fine-tuning
  • php验证系统
  • mybatis plus 用法
  • 待抵扣进项税额和进项税额的区别
  • 冲减多计提的工资怎么做账
  • 党费结算标准
  • mysql的联合查询
  • 现金流量表里包括应收票据吗
  • 没有盈利的公司
  • 公司向个人支付居间费用
  • 营改增之前的工程还能开票吗
  • Keepalived+HAProxy实现MySQL高可用负载均衡的配置
  • 认缴制没有实资本会怎么样
  • 增值税留抵有时间限制吗
  • 不动产登记机构应当履行下列职责?
  • 老板自己的钱给公司
  • 申请专利的费用怎么入账
  • 购入固定资产会计处理
  • 公司缴纳社保如何转为个人缴纳
  • 过路费属于差旅费还是办公费
  • 资产减值的含义与应用范围
  • sql判断字段是否有某个值
  • wp8.1怎么升级wp10
  • 苹果电脑使用u盾怎么用
  • win7系统笔记本怎么连接wifi
  • win8初始登录账号密码
  • win7电脑c盘格式化
  • cocos2dx官方教程
  • css实战案例
  • android 点击按钮如果数据库有数据就更新,没有就创建
  • 搭建maven开发环境
  • Android Studio --自动删除没有用的资源,给APK减减肥
  • Python实现类似jQuery使用中的链式调用的示例
  • 未开票收入如何申报增值税
  • 网上申领的电子发票如何读入金税盘
  • 外省车险保单,有何不利的事
  • 医疗机构执业许可证办理的条件
  • 会计基础工作规范2024
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设