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 文件扩展名 获取函数
Jun 03 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
May 04 PHP
php 过滤器实现代码
Aug 09 PHP
解析PHP中一些可能会被忽略的问题
Jun 21 PHP
php利用腾讯ip分享计划获取地理位置示例分享
Jan 20 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
Feb 10 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP实现动态添加XML中数据的方法
Mar 30 PHP
php服务器的系统详解
Oct 12 PHP
PHP高并发和大流量解决方案整理
Dec 24 PHP
php优化查询foreach代码实例讲解
Mar 24 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网页木马一枚 附PHP木马的防范方法
2009/10/09 PHP
php多用户读写文件冲突的解决办法
2013/11/06 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
php时间函数用法分析
2016/05/28 PHP
php中preg_replace_callback函数简单用法示例
2016/07/21 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
javascript同步服务器时间和同步倒计时小技巧
2015/09/24 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
vue增加强缓存和版本号的实现方法
2019/05/01 Javascript
JavaScript实现省市区三级联动
2020/02/13 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
2020/08/05 Javascript
[51:15]完美世界DOTA2联赛PWL S2 PXG vs Magma 第一场 11.21
2020/11/24 DOTA
Python实现的文本对比报告生成工具示例
2018/05/22 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
python的re模块使用方法详解
2019/07/26 Python
python3实现高效的端口扫描
2019/08/31 Python
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
C/C++程序员常见面试题二
2015/11/19 面试题
优秀研究生自我鉴定
2013/12/04 职场文书
法务专员岗位职责
2014/01/02 职场文书
幼儿评语大全
2014/04/30 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书