位置: 编程技术 - 正文

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年
  • 事业单位跨期发票的财务入账问题
  • 过路费抵扣税率是多少
  • 小规模季度划分
  • 外包劳务费用如何计算
  • 汇总转账凭证可以是一借多贷
  • 期间费用可以计入产品成本的费用吗
  • windows7为什么不能用了
  • MacOS bigsur11.2连击缩放窗口功能怎么关闭或开启?
  • 异地设立的仓库怎么处理
  • 第三方代收的款项怎么做账
  • 路由器晚上关了,早上再开信号会好吗?
  • 售后租回交易的实质是什么
  • 辞退员工补偿标准是n+1还是2n
  • 购车人丢失发票怎么查
  • 投喂小鸟
  • react组件库有哪些
  • vue环境搭建及配置简书
  • Vue+Element UI-el-date-picker时间日期选择器组件(实现向后端传值)
  • 西安微信公众号开发
  • php字符串编码转换
  • 行政事业单位怎么开发票
  • 小企业会计准则调整以前年度费用分录
  • 安装织梦数据库连接不上
  • 单位上社保需要个人提供什么资料
  • 公司账户转钱到私人账户要扣税吗
  • 公司找个人干活
  • 未开发票如何确认收入并进行申报?
  • 小规模纳税人季报需要报什么
  • 出口退税会计处理流程
  • 出口抵减内销产品应纳税额分录
  • 政府补助收入是指
  • 广告费计入什么会计分录
  • 营改增后房地产企业增值税如何核算
  • 取得异常凭证企业所得税调整
  • 个人独资企业的投资人以其个人财产对企业债务承担
  • 应纳税额与应纳所得额
  • 退回多交增值税账务处理小规模
  • 承兑汇票怎么拿钱
  • ubuntu server gui
  • win7系统计算机管理功能打不开
  • linux 解压.z
  • centos sh
  • 苹果macbook air上怎么装红色警戒
  • windows无法
  • linux使用场合
  • sealmon.exe - sealmon是什么进程 有什么用
  • windows xp快捷键设置在哪
  • win7系统无法安装ie8
  • windows7电脑怎么变快
  • 简述linux的系统结构
  • linux安装bz2
  • 批处理替换文件中的某个内容
  • 搭建入门
  • linux链接ln
  • 批处理转义字符如何
  • 天气球球怎么下载
  • node 创建文件夹
  • 如何实现高质量发展
  • 零基础学JavaScript
  • jsonobject java
  • android学什么
  • 昆明地税局长是谁
  • 成品油消费税税率2023
  • 跨区域报验和预审的区别
  • 成都成华区税务局
  • 内蒙古税务总局网站官网
  • 江苏省人大有信访工作吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设