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 MsSql server时遇到的中文编码问题
Jun 11 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
php mail to 配置详解
Jan 16 PHP
php调用C代码的实现方法
Mar 11 PHP
php实现的漂亮分页方法
Apr 17 PHP
php文件下载处理方法分析
Apr 22 PHP
非常有用的9个PHP代码片段
Apr 06 PHP
PHP 配置后台登录以及模板引入
Jan 24 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
php使用QueryList轻松采集js动态渲染页面方法
Sep 11 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
Apr 23 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
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
javascript中关于执行环境的杂谈
2011/08/14 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
2013/06/27 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
Python上传package到Pypi(代码简单)
2016/02/06 Python
详解python的几种标准输出重定向方式
2016/08/15 Python
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
python实现xlsx文件分析详解
2018/01/02 Python
python装饰器的特性原理详解
2019/12/25 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
中国梦团日活动总结
2014/07/07 职场文书
党课心得体会范文
2014/09/09 职场文书
领导班子三严三实对照检查材料
2014/09/25 职场文书
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python