位置: 编程技术 - 正文

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

  • 小规模纳税人减按1%如何填报申报表
  • 消防维保技术服务承诺书
  • 什么是试算平衡?如何进行试算平衡
  • 金税四期什么时候正式上线
  • 出口的港杂费包括哪些
  • 企业稳岗补贴怎么查
  • 冲减以前年度主营业务成本对今年有影响吗
  • 配件的出口是否可以免抵退?
  • 其他权益工具投资是什么类科目
  • 购买的地下室管道多能退吗
  • 红字发票票据怎么处理
  • 计提坏账准备和冲减坏账准备
  • 个人独资企业个人所得税核定征收
  • 增值税专用发票可以开电子发票吗
  • 机械租赁费发票图片
  • 生产车间员工体检费怎么入账
  • 个税提前预缴怎么入账?
  • 建筑企业发生的招标代理费一般计入
  • 投资收益税前扣除标准
  • 小规模纳税人增值税超过30万怎么纳税
  • 和别人合作投资后悔了怎么说
  • 研发支出费用如何计算应交所得税?
  • 进项为13%,销售时是否可按9%
  • 知道发票代码怎么查询发票号码
  • 小规模企业增值税税收优惠政策2023
  • 解决口苦最快的方法
  • 对方开红票需要寄给我吗
  • 土地用于自建项目怎么办
  • openlayers加载geojson
  • 电脑qq音乐设置在哪里
  • linux系统中查看磁盘空间情况命令
  • PHP:mb_decode_mimeheader()的用法_mbstring函数
  • php数组函数 菜鸟
  • 销售货物是什么意思
  • 金融工具减值会影响什么
  • kb4592440安装失败
  • 纳税人超过应缴纳税额缴纳的税款
  • php自定义变量的方法是
  • java项目报错
  • webpack常用属性
  • progress的用法及短语
  • Spring Boot 3.0 正式发布,王炸!!
  • 软件增值税即征即退文件
  • 承税汇票个人能用吗
  • 回购股票 会计处理
  • 企业会计准则无形资产土地摊销
  • 汽车租赁费怎么赋码
  • 企业固定资产内部控制审计研究论文
  • 注册资本认缴到期
  • 单位购买的化妆品怎么用
  • 固定资产提取折旧最新规定
  • 固定资产低于净值出售会计处理
  • 销售折扣与折让在财务报表哪里
  • 留抵会计分录
  • 一般纳税人购货取得普通发票
  • 居民企业与非居民企业的纳税差异
  • 会计一般用什么软件
  • linux下多个mysql5.7.19(tar.gz)安装图文教程
  • Mysql 5.6.37 winx64安装双版本mysql笔记记录
  • win7电脑一键关机快捷键
  • windows server 开始菜单
  • windows2000自动登陆
  • windows无法安装所需的文件,请确保所需的所有文件可用
  • win7系统打开软件慢的原因
  • win8系统如何查看文件浏览痕迹记录
  • 电脑win8.1系统怎么样
  • linux apt apt-get
  • centos打包文件
  • dos启动方式
  • js中document.write
  • js 阻止触发某个事件
  • shell操作
  • js定义数字
  • javascript基于什么的语言
  • javascript基础题目
  • js原型作用
  • 个人所得税完税证明怎么开具
  • 地税局基层职位怎么样
  • 小规模和一般纳税人营业执照区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设