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
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
php addslashes 函数详细分析说明
Jun 23 PHP
php set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
PHP 事件机制(2)
Mar 23 PHP
php购物车实现代码
Oct 10 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
Jun 24 PHP
PHP微框架Dispatch简介
Jun 12 PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
Apr 01 PHP
php的api数据接口书写实例(推荐)
Sep 22 PHP
Thinkphp集成抖音SDK的实现方法
Apr 28 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
《星际争霸》各版本雷兽特点图文解析 雷兽不同形态一览
2020/03/02 星际争霸
基于mysql的论坛(3)
2006/10/09 PHP
扩展你的 PHP 之入门篇
2006/12/04 PHP
PHP取进制余数函数代码
2012/01/19 PHP
PHP获取表单所有复选框的值的方法
2014/08/28 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
如何实现动态删除javascript函数
2007/05/27 Javascript
jQuery textarea的长度进行验证
2009/05/06 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
2016/01/27 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
webpack file-loader和url-loader的区别
2019/01/15 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
python函数参数*args**kwargs用法实例
2013/12/04 Python
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
python 生成器需注意的小问题
2020/09/29 Python
python 解决函数返回return的问题
2020/12/05 Python
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
中学生团员自我评价分享
2013/12/07 职场文书
工作时间上网检讨书
2014/02/03 职场文书
社区党员公开承诺书
2014/08/30 职场文书
工作证明格式范文
2015/06/15 职场文书
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技