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下用GD生成生成缩略图的两个选择和区别
Apr 17 PHP
php适配器模式介绍
Aug 14 PHP
eAccelerator的安装与使用详解
Jun 13 PHP
php实现文件下载功能的几个代码分享
May 10 PHP
PHP中通过trigger_error触发PHP错误示例
Jun 23 PHP
php简单生成随机数的方法
Jul 30 PHP
php实现递归的三种基本方式
Jul 04 PHP
全新Mac配置PHP开发环境教程
Feb 03 PHP
php的PDO事务处理机制实例分析
Feb 16 PHP
PHP设计模式之模板方法模式实例浅析
Dec 20 PHP
详解PHP的抽象类和抽象方法以及接口总结
Mar 15 PHP
PHP token验证生成原理实例分析
Jun 05 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取得一个类的属性和方法的实现代码
2011/05/22 PHP
关于PHP中Object对象的笔记分享
2011/06/28 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
PDO::getAvailableDrivers讲解
2019/01/28 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
推荐一些非常不错的javascript学习资源站点
2007/08/29 Javascript
测试你的JS的掌握程度的代码
2009/12/09 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
vue.js实现简单轮播图效果
2017/10/10 Javascript
详解.vue文件解析的实现
2018/06/11 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
2019/06/05 Javascript
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
使用pycharm生成代码模板的实例
2018/05/23 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
python调用私有属性的方法总结
2020/07/24 Python
法学毕业生自我鉴定
2013/11/08 职场文书
写给女生的道歉信
2014/01/14 职场文书
大学总结自我鉴定
2014/01/18 职场文书
培训楼经理岗位责任制
2014/02/10 职场文书
文案策划求职信
2014/04/14 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
卫生标语大全
2014/06/21 职场文书
优秀教师个人总结
2015/02/11 职场文书
在Django中使用MQTT的方法
2021/05/10 Python
分享几个实用的CSS代码块
2022/06/10 HTML / CSS