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 UTF8 文件的签名问题
Oct 30 PHP
PHP strtok()函数的优点分析
Mar 02 PHP
php判断变量类型常用方法
Apr 24 PHP
apache mysql php 源码编译使用方法
May 03 PHP
如何判断php数组的维度
Jun 10 PHP
php实现的Timer页面运行时间监测类
Sep 24 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
php图片上传类 附调用方法
May 15 PHP
thinkPHP基于ajax实现的菜单与分页示例
Jul 12 PHP
php文件上传类的分享
Jul 06 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
PHP快速排序算法实现的原理及代码详解
Apr 03 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
解析MySql与Java的时间类型
2013/06/22 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
Dom操作之兼容技巧分享
2011/09/20 Javascript
asm.js使用示例代码
2013/11/28 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
JS数组求和的常用方法实例小结
2019/01/07 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
python PIL模块与随机生成中文验证码
2016/02/27 Python
python中for in的用法详解
2020/04/17 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
Python DES加密实现原理及实例解析
2020/07/17 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
某公司的.net工程师面试题笔试题
2013/11/22 面试题
某公司面试题
2012/03/05 面试题
大学活动总结范文
2014/04/29 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书
毕业论文答辩开场白和答辩技巧
2015/05/27 职场文书
趣味运动会标语口号
2015/12/26 职场文书