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 相关文章推荐
Content-type 的说明
Oct 09 PHP
PHP脚本的10个技巧(6)
Oct 09 PHP
php str_pad 函数使用详解
Jan 13 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
Dec 18 PHP
php检测用户是否用手机(Mobile)访问网站的类
Jan 09 PHP
php常用的url处理函数总结
Nov 19 PHP
使用Yii2实现主从数据库设置
Nov 20 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
Yii2 加载css、js 载静态资源的方法
Mar 10 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
Sep 16 PHP
PhpStorm配置Xdebug调试的方法步骤
Feb 02 PHP
PHP生成随机密码4种方法及性能对比
Dec 11 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函数解决SQL injection
2006/10/09 PHP
PHP中GET变量的使用
2006/10/09 PHP
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
PHP中的strtr函数使用介绍(str_replace)
2011/10/20 PHP
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
如何使用json在前后台进行数据传输实例介绍
2013/04/11 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
vue.js实现双击放大预览功能
2020/06/23 Javascript
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
python微信公众号开发简单流程
2018/03/23 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
python斐波那契数列的计算方法
2018/09/27 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
基于python实现计算两组数据P值
2020/07/10 Python
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
武汉高蓝德国际.net机试
2016/06/24 面试题
Java软件工程师综合面试题笔试题
2013/09/08 面试题
城管综合整治方案
2014/05/01 职场文书
实习公司领导推荐函
2014/05/21 职场文书
房产公证委托书范本
2014/09/20 职场文书
2016年元旦致辞
2015/08/01 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
python对文档中元素删除,替换操作
2022/04/02 Python