位置: 编程技术 - 正文

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

  • 小规模企业增值税怎么申报
  • 缴纳房产税怎么记账
  • 怎么算印花税计算器
  • 经营性现金净流量为负数怎么解释
  • 会计账本需要装订的有哪些
  • 到国税局领增值税发票需带什么
  • 利润表的利息费用怎么算出来的
  • 外商投资企业购买一辆小轿车自用
  • 对方公司退回货款,但发票已经开了怎么写摘要
  • 进项交税吗
  • 仓储业有哪些
  • 未安装使用
  • 销售使用固定资产账务怎么处理
  • 库存商品报废进项转出
  • 农业生产企业是指什么
  • 冷库租赁收入税率
  • 出口退税综合服务平台电话
  • 金蝶标准版期末结转过不去
  • 股权转让印花税税率是多少
  • 专用发票发票联丢失怎么办
  • 公司账上收到职工的生育津贴如何做账?
  • 免税行业企业
  • 全年累计应税所得额
  • 工会固定资金是什么
  • 1697510552
  • 操作系统不同
  • 固态硬盘坏了的话是整个坏吗
  • 华为鸿蒙系统的服务
  • 为离职员工代缴社保 论
  • 应付职工薪酬账户结构
  • win11如何设置开机自启动软件
  • php部署在什么服务器
  • php curl post请求
  • ElementPlusError:[ElPagination] 你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档
  • win10任务栏颜色怎么调
  • php在apache中有哪些工作方式
  • 应酬用的香烟
  • php如何读取文件内容
  • thinkphp ajaxfileupload实现异步上传图片的示例
  • 深入理解计算机系统 第三版 pdf
  • opencv图像识别特定形状
  • css 入门
  • python3中rindex用法
  • 购买仪器属于什么费用
  • 会计电算化的内容和任务
  • 商贸公司分录大全
  • 变卖固定资产的账务处理
  • 免税农产品按多少抵扣
  • 先预付货款,货到了怎么做账
  • 小额贷款在银行需要什么条件
  • 营改增后土地出让增值税
  • 中小企业开发票税率是多少
  • 企业工会经费计提比例
  • 固定资产融资租出计入什么科目
  • 酒店代金券是什么意思
  • 免税货物如何开具发票
  • 有没有月初发放当月工资的
  • 发票抬头公司报销的该怎么写
  • 完成认证后开具什么证明
  • 净资产=资产-负债
  • 股权转让如何避免转让前债务
  • 公司如何注销营业执照
  • mysql数据库中储存的是
  • sql server如何判断数据库是否存在
  • sqlserver日志已满
  • win7users移动其它盘
  • centos8复制文件
  • executor进程
  • 输入法不显示怎么处理
  • 电脑打开win
  • win10如何移动应用程序
  • 关于extjs4如何获取grid修改后的数据的问题
  • opengl glu
  • ios shell脚本
  • python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
  • javascript学习指南
  • 莱钢生产什么产品
  • 社保和税局关联后还要申报吗
  • 税控盘过了时间没清卡要罚多少钱
  • 南京税务局举报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设