位置: 编程技术 - 正文

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

  • 供暖服务费增值税怎么算
  • 金税盘开票软件密码忘记怎么办
  • 即征即退进项税额怎么填写申报表
  • 住宿业的小规模纳税标准
  • 营业成本包括哪些费用
  • 双定户经营所得用申报吗
  • 结转本年利润要扣除企业所得税吗
  • 收据大写十万元整怎么写标准
  • 土建工程维修
  • 公司滴滴发票是什么意思
  • 个人向个人借款100万交税吗
  • 不含税销售收入含消费税吗
  • 年折旧额怎么计算公式直线法
  • 企业固定资产职称是什么
  • 从原材料到库存商品的生产核算过程
  • 税收滞纳金算不算所得税
  • 小规模纳税人的季度
  • 开票资料没有电话号码可以写法人名字吗
  • 餐饮企业员工
  • 旅游业适用差额征税政策时如何开具发票?
  • 车间管理人员工作总结
  • 以前年度损益调整贷方余额表示什么
  • 水利基金减免政策2019 未超过10万
  • 土地的增值税进项能否抵扣
  • 从农民手里收的钱叫什么
  • 公司交一部分社保个人还要交多少钱
  • 折现率为10%怎么算折现系数是多少
  • 营业外支出汇算清缴调增填哪
  • win11家庭版怎么激活
  • 怎么远程重装win10
  • 演出收入怎样做会计分录
  • 公司购买理财产品账务处理
  • win10专业版0x803fa067
  • 右键新建菜单中没有文本文档怎么办
  • 我老公有外遇了,我很爱他,我该怎么办
  • 委托加工应税消费品的纳税义务人是受托方
  • 可变现净值属于资产计量属性吗
  • symfony2.4的twig中date用法分析
  • vue的actions
  • chrome浏览器清除数据
  • 前端解决跨域问题的代理
  • node 和vue
  • thinkphp如何连接数据库
  • 员工办理健康证需要什么材料
  • 增值税附加税有哪几种
  • 开出租车怎么租车
  • 银行存款出现负数
  • 企业向合伙企业转让股权
  • 公益性捐赠支出纳税调整
  • 怎么盘存货
  • 长期股权投资的交易费用计入哪里
  • 应收票据的核算内容
  • 个人所得税定额税率
  • 应交税费明细科目设置最新
  • 企业所得税季度申报表怎么填
  • 企业收到合同保险怎么办
  • 会计科目长期待摊费用
  • 企业购进货物暂欠货款
  • 如何理解会计的本质
  • 机票退票手续费太贵怎么办
  • k3凭证模板
  • 企业购买土地如何缴税
  • 什么是计提坏账准备
  • 旅游饮食服务企业的特点包括
  • sql跨服务器查询方法
  • 微软官微
  • centos7配置免密登录
  • ubuntu修改ip地址方法
  • mac怎么添加桌面
  • linux不能识别u盘
  • Linux通过shell脚本创建SVN版本库简化创建过程
  • linux zen3
  • opengl 透视投影
  • bootstrap基础
  • 浅析学校德育的个体智能发展功能
  • javascript怎么做
  • dom操作中获取节点的方法有哪几种
  • js实现继承的几种方式详述(推荐)
  • 黑龙江国税局官网
  • 不动产租赁如何征税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设