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 相关文章推荐
数据库相关问题
Oct 09 PHP
使用eAccelerator加密PHP程序
Oct 03 PHP
php程序之die调试法 快速解决错误
Sep 17 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
Apr 07 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
PHP魔术方法__GET、__SET使用实例
Nov 25 PHP
PHP+Ajax实时自动检测是否联网的方法
Jul 01 PHP
PHP实现合并discuz用户
Aug 05 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
laravel使用Faker数据填充的实现方法
Apr 12 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 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
SONY ICF-SW55的电路分析
2021/03/02 无线电
PHP如何透过ODBC来存取数据库
2006/10/09 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
py文件转exe时包含paramiko模块出错解决方法
2016/08/12 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
javascript中的this详解
2014/12/08 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
js实现点击上传图片并设为模糊背景
2020/08/02 Javascript
简明 Python 基础学习教程
2007/02/08 Python
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
环境科学专业个人求职信
2013/09/26 职场文书
大三毕业自我鉴定
2014/01/15 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
大一新生期末自我评价
2014/09/12 职场文书
2014年小学重阳节活动策划方案
2014/09/16 职场文书
党的群众路线个人对照检查材料
2014/09/23 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
go语言中json数据的读取和写出操作
2021/04/28 Golang
pyqt5打包成exe可执行文件的方法
2021/05/14 Python
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers