php断点续传之文件分割合并详解


Posted in PHP onDecember 13, 2016

php实现断点续传,就需要把大文件分割成多个小文件,然后单个上传。传完后在合并。

│ merge.php ?合并文件脚本
│ merge.zip ?合并后文件
│ socket.zip ?需要分割的文件
│ split.php ?分割文件脚本

└─split ?分割后小文件目录

下面是源码

split.php

<?php

$fp = fopen("socket.zip", "rb");
$filesize = 10;
$i = 0;
$no = 1;
while(!feof($fp))
{
  $file = fread($fp, $filesize);

  $fp2 = fopen("./split/socket.port".sprintf("%04d",$no).".".$i."-".($i+$filesize).".tmp", "wb");
  fwrite($fp2, $file, $filesize);
  fclose($fp2);
  $i+=$filesize+1;
$no++;
}

fclose($fp);

merge.php

<?php
$filelist = glob('./split/*socket*.tmp');
$filesize = 10;

//print_r($filelist);
$mergeFileName = 'merg.zip';

unlink($mergeFileName);
  $fp2 = fopen($mergeFileName,"w+");
foreach($filelist as $k => $v)
{
  $fp = fopen($v, "rb");
   $content = fread($fp, $filesize);

   fwrite($fp2, $content, $filesize);
   unset($content);
   fclose($fp);
   echo $k,"\n";
}
  fclose($fp2);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php中的时间处理
Oct 09 PHP
PHP一些有意思的小区别
Dec 06 PHP
数字转英文
Dec 06 PHP
js下函数般调用正则的方法附代码
Jun 22 PHP
用PHP程序实现支持页面后退的两种方法
Jun 30 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
php读取文件内容的三种可行方法示例介绍
Feb 08 PHP
php实现阳历阴历互转的方法
Oct 28 PHP
基于PHP实现等比压缩图片大小
Mar 04 PHP
php微信开发之上传临时素材
Jun 24 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
Apr 23 PHP
Yii框架应用组件用法实例分析
May 15 PHP
php json_encode与json_decode详解及实例
Dec 13 #PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
Dec 12 #PHP
php一个文件搞定微信jssdk配置
Dec 12 #PHP
php自定义扩展名获取函数示例
Dec 12 #PHP
DWZ+ThinkPHP开发时遇到的问题分析
Dec 12 #PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
Dec 12 #PHP
简单谈谈PHP中的Reload操作
Dec 12 #PHP
You might like
PHP中基本符号及使用方法
2010/03/23 PHP
php编写一个简单的路由类
2011/04/13 PHP
php定时计划任务的实现方法详解
2013/06/06 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
2014/01/07 PHP
PHP共享内存用法实例分析
2016/02/12 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
PHP递归的三种常用方式
2019/02/28 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
js实现简单进度条效果
2020/03/25 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
Python中的变量和作用域详解
2016/07/13 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
python itsdangerous模块的具体使用方法
2020/02/17 Python
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
实习护理工作自我评价
2013/09/25 职场文书
党员年终民主评议的自我评价
2013/11/05 职场文书
升职自荐书范文
2013/11/28 职场文书
难忘的一课教学反思
2014/04/30 职场文书
在职员工证明书
2014/09/19 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
python微信智能AI机器人实现多种支付方式
2022/04/12 Python