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中用文本文件做数据库的实现方法
Mar 27 PHP
php上传文件的增强函数
Jul 21 PHP
php实现用户在线时间统计详解
Oct 08 PHP
php通过COM类调用组件的实现代码
Jan 11 PHP
php连接mssql的一些相关经验及注意事项
Feb 05 PHP
PHP APC的安装与使用详解
Jun 13 PHP
php使用exec shell命令注入的方法讲解
Nov 12 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
THINKPHP项目开发中的日志记录实例分析
Dec 01 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
Oct 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
PHP将HTML转换成文本的实现代码
2015/01/21 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
Javascript String.replace的妙用
2009/09/08 Javascript
让你的网站可编辑的实现js代码
2009/10/19 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
2011/09/13 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
2011/11/14 Javascript
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
JS返回只包含数字类型的数组实例分析
2016/12/16 Javascript
原生JS写Ajax的请求函数功能
2017/12/22 Javascript
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
Python利用字典破解WIFI密码的方法
2019/02/27 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
python实时检测键盘输入函数的示例
2019/07/17 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
HTML5 Canvas 实现K线图的示例代码
2019/12/23 HTML / CSS
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
异步传递消息系统的作用
2016/05/01 面试题
学生实习自我鉴定
2013/10/11 职场文书
小学敬老月活动方案
2014/02/11 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
教师节寄语2015
2015/03/23 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
MySQL8.0.18配置多主一从
2021/06/21 MySQL
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电