位置: 编程技术 - 正文

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

  • 汇算清缴时房企毛利额有差异如何调整
  • 暂估入库的价格一般会高一些吗
  • 外购货物用于什么不得抵扣进项
  • 幼儿园属于小型幼儿吗
  • 增值税普通发票和普通发票的区别怎么交税
  • 待摊费用不要了怎么做账?
  • 税款返点如何做财务处理呢?
  • 房地产开发企业会计科目
  • 周转材料低值易耗品
  • 贷款能不能开发票
  • 个税提前预缴怎么入账?
  • 提示涉税风险该怎么弄
  • 小微企业免征增值税政策2023
  • 财务软件没有税务登记
  • 企业购买原材料生产时企业还没有赚到钱
  • 租金税率9%和5
  • 子公司的注册资金需要母公司股东出吗?
  • "专项储备"在合并报表层面如何处理?
  • 王者荣耀露娜的故事
  • 在win7系统中如何让电脑恢复出厂设置方法
  • 其他流动负债包含
  • 收到以前年度退回的企业所得税
  • 劳务公司的账务怎么做账
  • linux yum update
  • win11安装更新时出现一些问题
  • 财务人员如何审核合同
  • uniapp自定义组件模式
  • 如何计算业务招标价格
  • taro-ui-vue3
  • 长期待摊费用应该怎么摊销
  • ntpdate 命令
  • php 替换
  • 怎样部署
  • 以前多计提的工资怎么办
  • 退预收款需要对方同意吗
  • 生产成本有什么
  • 货已入库进项发票未到怎么办
  • 库存材料清查结论怎么写
  • Python函数的参数及其类型
  • 什么是代缴代扣
  • 分成收入计入什么科目
  • 支付给租户的装修押金
  • 什么是债权人和债务人简单来说
  • 控股子公司破产清算 母公司账务处理
  • 报税合同
  • 社保的账务处理分录
  • 无形资产的会计准则的相关规定
  • 无票收入的增值税税率
  • 汇算清缴需要传票么
  • 融资租赁开具的发票内容
  • 对方开的增值税普票怎么查
  • 认证的进项退税怎么操作
  • 公司员工报销车费还需要签协议吗
  • 一般户可以发工资有什么后果
  • 新成立的公司需要年报吗
  • mysql查询结果输出
  • u盘pe系统安装步骤
  • SonicStageMonitoring.exe是什么进程 有什么作用
  • 修改虚拟机中的用户名
  • win8.1使用教程
  • win10一年更新几次
  • OfcPfwSvc.exe - OfcPfwSvc是什么进程 有什么用
  • win10怎么安装java?win10系统安装java的方法
  • linux中nm命令
  • 事件处理的三个要素
  • linux中ftp命令的用法
  • cocos2dx入门
  • cocos2dx 4.0
  • js定义数字
  • js中refresh
  • js获取鼠标坐标到浏览器底部
  • javascript基本语句
  • jquery ui draggable
  • 福建省电子税务局官网登录入口
  • 税务局把我拉入黑名单了怎么办
  • 重庆地方税务局电子税务局官网
  • 金税三期怎么打完税凭证
  • 江苏省常州市国事业单位国企招录测绘工程研究生公告
  • 企业所得税年报怎么填
  • 浙江省网上税务局总分机构变更流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设