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 相关文章推荐
第三节 定义一个类 [3]
Oct 09 PHP
php中json_encode中文编码问题分析
Sep 13 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
排序算法之PHP版快速排序、冒泡排序
Apr 09 PHP
php线性表的入栈与出栈实例分析
Jun 12 PHP
编写PHP脚本来实现WordPress中评论分页的功能
Dec 10 PHP
PHP文件上传之多文件上传的实现思路
Jan 27 PHP
Symfony2安装第三方Bundles实例详解
Feb 04 PHP
PHP 等比例缩放图片详解及实例代码
Sep 18 PHP
php微信公众号开发之现金红包
Apr 16 PHP
PHP实现唤起微信支付功能
Feb 18 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
2014/12/08 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
js转换对象为xml
2017/02/17 Javascript
Vue实现动态响应数据变化
2017/04/28 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
node.js文件上传重命名以及移动位置的示例代码
2018/01/19 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
详解Python字符串切片
2019/05/20 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
如何基于Python按行合并两个txt
2020/11/03 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
高级Java程序员面试题
2016/06/23 面试题
毕业生自我鉴定
2013/12/04 职场文书
教师岗位职责范本
2013/12/29 职场文书
四个太阳教学反思
2014/02/01 职场文书
大学生活自我评价
2014/04/09 职场文书
2014年党支部学习材料
2014/05/19 职场文书
安阳殷墟导游词
2015/02/10 职场文书
学校教师培训工作总结
2015/10/14 职场文书