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 相关文章推荐
用缓存实现静态页面的测试
Dec 06 PHP
取得单条网站评论以数组形式进行输出
Jul 28 PHP
php单文件版在线代码编辑器
Mar 12 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
PHP实现的进度条效果详解
May 03 PHP
php上传图片类及用法示例
May 11 PHP
PHP读取XML格式文件的方法总结
Feb 27 PHP
详解php用static方法的原因
Sep 12 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
PHP simplexml_load_string()函数实例讲解
Feb 03 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 PHP
Laravel5.4简单实现app接口Api Token认证方法
Aug 29 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控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
js 中 document.createEvent的用法
2010/08/29 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
Bootstrap4如何定制自己的颜色和风格
2018/02/26 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
python遍历一个目录,输出所有的文件名的实例
2018/04/23 Python
Python3爬楼梯算法示例
2019/03/04 Python
Python二维码生成识别实例详解
2019/07/16 Python
python实现密码强度校验
2020/03/18 Python
python3发送request请求及查看返回结果实例
2020/04/30 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
全球度假村:Club Med
2017/11/27 全球购物
亿阳信通股份有限公司笔试题(C#)
2016/03/04 面试题
中专生自我鉴定范文
2013/12/19 职场文书
总经理秘书工作职责
2013/12/26 职场文书
三年级数学教学反思
2014/01/31 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
先进个人自荐书
2015/03/06 职场文书
实习单位推荐信
2015/03/27 职场文书
毕业设计工作总结
2015/08/14 职场文书