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 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
PHP+javascript模拟Matrix画面
Oct 09 PHP
PHP简介
Oct 09 PHP
怎么样可以把 phpinfo()屏蔽掉?
Nov 24 PHP
上传文件先创建目录 再上传到目录里面去
Dec 29 PHP
基于PHP5魔术常量与魔术方法的详解
Jun 13 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
解析isset与is_null的区别
Aug 09 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
Apr 09 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
php 微信公众平台开发模式实现多客服的实例代码
Nov 07 PHP
弹出模态框modal的实现方法及实例
Sep 19 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 array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
基于php流程控制语句和循环控制语句(讲解)
2017/10/23 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
jquery解决客户端跨域访问问题
2015/01/06 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
jqueryUI里拖拽排序示例分析
2015/02/26 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
使用jQuery制作基础的Web图片轮播效果
2016/04/22 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
2016/05/10 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
vue中keep-alive,include的缓存问题
2019/11/26 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
在Python的Django框架中获取单个对象数据的简单方法
2015/07/17 Python
Python函数装饰器实现方法详解
2018/12/22 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
护士实习自我鉴定
2013/10/22 职场文书
终止合同协议书
2014/04/17 职场文书
优秀驾驶员先进事迹材料
2014/05/04 职场文书
行政求职信
2014/07/04 职场文书