PHP实现的大文件切割与合并功能示例


Posted in PHP onApril 10, 2018

本文实例讲述了PHP实现的大文件切割与合并功能。分享给大家供大家参考,具体如下:

分割代码

split.php

<?php
$i  = 0;                 //分割的块编号
$fp  = fopen("hadoop.sql","rb");      //要分割的文件
$file = fopen("split_hash.txt","a");    //记录分割的信息的文本文件,实际生产环境存在redis更合适
while(!feof($fp)){
    $handle = fopen("hadoop.{$i}.sql","wb");
    fwrite($handle,fread($fp,5242880));//切割的块大小 5m
    fwrite($file,"hadoop.{$i}.sql\r\n");
    fclose($handle);
    unset($handle);
    $i++;
}
fclose ($fp);
fclose ($file);
echo "ok";

合并代码

merge.php

<?php
$hash = file_get_contents("split_hash.txt"); //读取分割文件的信息
$list = explode("\r\n",$hash);
$fp = fopen("hadoop2.sql","ab");    //合并后的文件名
foreach($list as $value){
  if(!empty($value)) {
    $handle = fopen($value,"rb");
    fwrite($fp,fread($handle,filesize($value)));
    fclose($handle);
    unset($handle);
  }
}
fclose($fp);
echo "ok";

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP下一个非常全面获取图象信息的函数
Nov 20 PHP
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
php设计模式 Factory(工厂模式)
Jun 26 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
php curl基本操作详解
Jul 23 PHP
用PHP实现弹出消息提示框的两种方法
Dec 17 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
Dec 15 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
Dec 09 PHP
分享php多功能图片处理类
May 15 PHP
微信支付PHP SDK ―― 公众号支付代码详解
Sep 13 PHP
laravel框架中间件简单使用方法示例
Jan 25 PHP
tp5.1 框架查询表达式用法详解
May 25 PHP
PHP实现分布式memcache设置web集群session同步的方法
Apr 10 #PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 #PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
Apr 09 #PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 #PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 #PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 #PHP
PHP创建自己的Composer包方法
Apr 09 #PHP
You might like
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
destoon之一键登录设置
2014/06/21 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
Js放到HTML文件中的哪个位置有什么区别
2013/08/21 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
微信小程序 图片上传实例详解
2017/05/05 Javascript
Javascript实现base64的加密解密方法示例
2017/06/27 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
使用nvm和nrm优化node.js工作流的方法
2019/01/17 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
JavaScript类的继承多种实现方法
2020/05/30 Javascript
javascript实现搜索筛选功能实例代码
2020/11/12 Javascript
[02:20]2014DOTA2西雅图邀请赛 MVP外卡赛首胜采访
2014/07/09 DOTA
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
python 编写简单网页服务器的实例
2018/06/01 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
python中的列表和元组区别分析
2020/12/30 Python
中国宠物用品商城:E宠商城
2016/08/27 全球购物
机电专业毕业生推荐信
2013/11/10 职场文书
酒店值班经理的工作职责范本
2014/02/18 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
保密工作目标责任书
2014/07/28 职场文书
水电工岗位职责
2015/02/14 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
浅谈Python协程asyncio
2021/06/20 Python