位置: 编程技术 - 正文

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

  • 外贸企业出口货物
  • 预收款开发票,不确认收入可以吗?
  • 年金的扣费标准
  • 运费单独开票的账务处理
  • 建筑企业收到预售款时需要缴纳增值税吗
  • 收到软件发票怎么做账
  • 货车的车辆购置税是多少
  • 土地返还款属于政府补助吗
  • 在建工程完工结转
  • 公司购买的五金工具报销怎么做
  • 增值税是先交税还是先开票
  • 出口预收货款发生的时间和报表上的时间不一样怎么办
  • 帮客户垫付的费用有发票如何做账科目
  • 收到老板给的购房发票
  • 股票授予代替工资缴税吗?
  • etc预付卡发票能不能报销
  • 税务稽查是什么
  • 维修费属于哪个类别
  • 资产负债表其他应付款包括哪些
  • 发票上可以盖两次章吗
  • 预收房款属于什么科目
  • 代收房租费
  • 手工帐财务费用怎么结转
  • 统计机构收到公开申请()内予以答复
  • 售后服务领用材料分录
  • 预付租金是什么
  • 两免三减半适用范围
  • 税控专用设备全额抵扣
  • windows登录提示
  • 应用程序出现异常怎么办
  • 收到服务费分录怎么写
  • 在建工程的二级明细的讲解
  • php常用的技术栈
  • php二维数组遍历
  • php实验步骤
  • w10触摸键盘
  • 分公司 股东
  • php web3
  • 划拨用地无使用权怎么办
  • linux安装配置ftp
  • 如何自己搭建一个邮箱服务器
  • mac phpstudy
  • 建筑安装收入会计分录
  • 温哥华fdu是什么大学
  • 计提本月附加税2496.28
  • phpmyadmin无法登陆mysql数据库
  • php设计模式及使用场景
  • 转让固定资产使用权是出租吗
  • python创建自定义函数
  • 运费已付发票未到会计分录
  • 工地购买的厨房用品计入哪个科目
  • seata1.3.0配置
  • 为什么有些网站会自动复制
  • 网银可以给个人转账
  • 三方协议是什么意思?
  • 个税 全年累计
  • 公司之间往来款需要交税吗
  • 金蝶财务软件怎么备份
  • Windows下Postgresql数据库的下载与配置方法
  • mysql数据类型和java对应
  • 设备出租当月要确认收入吗
  • 在mysql中设置事务保存点
  • 淘宝电子发票怎么申请
  • 暂估入库的会计分录怎么写
  • 已认证的增值税专用发票可以作废吗
  • 本年利润为
  • 公司提供给员工暂借款未还款离职
  • 装修费摊销怎么计算公式
  • mysql sql行转列
  • 32位的win7和64位的win7要选择哪个呢?它们有什么区别?
  • windowsxp网页打不开怎么办
  • win8 开机启动
  • linux中启动服务命令
  • fs是什么文件夹
  • windows7更新补丁后蓝屏
  • ajaxfrom表单提交
  • 骞怎么读什么意思是什么
  • python中的变量
  • 没有交税,个人税可以低房子利息嘛
  • 基层税务局长工作职责
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设