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之对抗Web扫描器的脚本技巧
Oct 01 PHP
延长phpmyadmin登录时间的方法
Feb 06 PHP
PHP读取PDF内容配合Xpdf的使用
Nov 24 PHP
php实现文件下载(支持中文文名)
Dec 04 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
May 08 PHP
浅析php创建者模式
Nov 25 PHP
详细解读PHP的Yii框架中登陆功能的实现
Aug 21 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
Oct 09 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
php下载文件超时时间的设置方法
Oct 06 PHP
php之header的不同用法总结(实例讲解)
Nov 28 PHP
PHP示例演示发送邮件给某个邮箱
Apr 03 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中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
js或css实现滚动广告的几种方案
2010/01/28 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
jquery中event对象属性与方法小结
2013/12/18 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
Vue路由history模式解决404问题的几种方法
2018/09/29 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
快速查询Python文档方法分享
2017/12/27 Python
Python 读写文件的操作代码
2018/09/20 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
python3字符串输出常见面试题总结
2020/12/01 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
CSS3 实现时间轴动画
2020/11/25 HTML / CSS
农民致富事迹材料
2014/01/23 职场文书
体育活动总结范文
2014/05/04 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
小学生差生评语
2014/12/29 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
运动会报道稿大全
2015/07/23 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python