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 URL编码解码函数代码
Mar 10 PHP
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
解析dedecms空间迁移步骤详解
May 15 PHP
解析php中die(),exit(),return的区别
Jun 20 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 PHP
php获取根域名方法汇总
Oct 28 PHP
PHP中使用匿名函数操作数据库的例子
Nov 17 PHP
PHP中字符与字节的区别及字符串与字节转换示例
Oct 15 PHP
thinkphp实现分页显示功能
Dec 03 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 PHP
PHP+ajax实现获取新闻数据简单示例
May 08 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
Mar 23 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
用PHP生成excel文件到指定目录
2015/06/22 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
使用javascipt---实现二分查找法
2013/04/10 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
vue实现选中效果
2020/10/07 Javascript
[02:14]DOTA2英雄基础教程 修补匠
2013/12/23 DOTA
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
python利用lxml读写xml格式的文件
2017/08/10 Python
Python实现的rsa加密算法详解
2018/01/24 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
python 爬取免费简历模板网站的示例
2020/09/27 Python
python os.rename实例用法详解
2020/12/06 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
高一历史教学反思
2014/01/13 职场文书
医药营销个人求职信范文
2014/02/07 职场文书
竞选部门副经理的自荐书范文
2014/02/11 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
2014年办公室人员工作总结
2014/12/09 职场文书
初一语文教学反思
2016/03/03 职场文书