位置: 编程技术 - 正文

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

  • 公关支出是什么意思
  • 民营医院增值税优惠政策有哪些
  • 税负率的计算公式举例说明
  • 公司购买的车辆可以抵扣进项税吗
  • 总公司和子公司可以有业务往来吗
  • 住房贷款专项扣除
  • 应付账款不需要付怎样做会计分录
  • 母公司捐赠资金给子公司
  • 隔月发票红冲操作流程
  • 工程在建期间土地的摊销如何处理
  • 预交了一个季度的社保
  • 监控安装属于什么税目
  • 在下列哪种情况下
  • 企业出售固定资产取得的净收益应列入的利润表项目是
  • 和别人合作投资后悔了怎么说
  • 银行年费计入管理费用还是财务费用
  • 应付职工薪酬明细表怎么填写
  • 汇率变动引起的经济危机
  • 一般纳税人简易计税会计分录
  • 电脑网页游戏打不开了怎么办
  • 员工退回多发的工资,是上缴国库还是财政专户
  • 个体工商户经营范围分类目录
  • win8操作系统
  • 使用筷子就餐会不会传染乙肝病毒
  • 我的电脑图标没了怎么恢复
  • 实际收到的货款怎么做账
  • 财务费用的核算属于什么业务
  • java上传文件 multipartfile
  • 【C#+JavaScript+SQL Server】实现Web端考试系统 六:后台管理模块设计(附源码和资源)
  • 遮天传官网
  • 借入长期借款的利息
  • phpcms视频教程
  • 红字信息表重复了怎么办
  • 来料加工企业的税率是多少
  • 已提减值准备的固定资产报废,确认的所得税资产
  • 快递破损后赔偿还能把东西拿走吗
  • 企业并购的主要特征是a扩大企业规模
  • mongodb数据库中使用哪个数据库可以设置用户名和密码
  • 哪些行业不用交税
  • 财务报表上期金额是指什么意思
  • 交易性金融资产入账价值怎么计算
  • 经营性存款人罚款
  • 单位买车和个人买车交税有何不同
  • 销售公司扣款制度合法吗
  • 房地产企业土地增值税预缴
  • 咨询费收入成本怎么算
  • 小规模纳税人未开票收入如何申报增值税
  • 赔付支出包括
  • 非同一控制下企业合并取得的长期股权投资
  • 委托加工如何做会计处理
  • 做账工资和申报工资不一样有风险吗
  • 什么是小微企业
  • 总分机构和分总机构的区别
  • 预提业务
  • access数据库导入到sqlserver
  • mysql查询语句大全讲解
  • linux dd 系统
  • 怎么把操作系统转移到另一个盘
  • mac怎样修改用户名
  • win10怎么检查
  • 如何查看winxp系统的运行内存
  • win7系统运行速度提升
  • winxp开启远程控制
  • 电脑window8系统怎么样
  • win7打开文件总是询问
  • cocos2dx入门
  • android4.4w
  • android base64传图片
  • javascript entries
  • 引用javascript外部脚本的正确写法
  • 用Python设计一个游戏
  • bootstrap的表格
  • javascript toggle
  • 1+x职业技能等级证书
  • 如何下载成品油库存
  • 征管法第六十三条的内容
  • 下载重庆税务官方app
  • 长春市征收中心
  • 免征增值税的销售额
  • 医保电子凭证怎么激活
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设