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
Apache 配置详解(最好的APACHE配置教程)
Jul 04 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
Apr 28 PHP
利用php绘制饼状图的实现代码
Jun 07 PHP
php返回字符串中所有单词的方法
Mar 09 PHP
php根据指定位置和长度获得子字符串的方法
Mar 17 PHP
php错误日志简单配置方法
Jul 11 PHP
php获取数据库中数据的实现方法
Jun 01 PHP
PHP中$GLOBALS与global的区别详解
Mar 21 PHP
Yii2框架自定义类统一处理url操作示例
May 25 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 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递归算法和应用方法介绍
2013/04/15 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
range 标准化之获取
2011/08/28 Javascript
js常用代码段收集
2011/10/28 Javascript
JavaScript基础知识之数据类型
2012/08/06 Javascript
jQuery实现倒计时按钮功能代码分享
2014/09/03 Javascript
js window对象属性和方法相关资料整理
2015/11/11 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
NodeJS有难度的面试题(能答对几个)
2019/10/09 NodeJs
原生js+css调节音量滑块
2020/01/15 Javascript
python的常见命令注入威胁
2013/02/18 Python
在Python中使用异步Socket编程性能测试
2014/06/25 Python
Python中.join()和os.path.join()两个函数的用法详解
2018/06/11 Python
检测python爬虫时是否代理ip伪装成功的方法
2019/07/12 Python
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
自我评价中英文语句
2013/11/30 职场文书
高三政治教学反思
2014/02/06 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
2015年底工作总结范文
2015/05/15 职场文书
2015年行政人事工作总结
2015/05/21 职场文书
React如何创建组件
2021/06/27 Javascript