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+MYSQL的文章管理系统(一)
Oct 09 PHP
php include,include_once,require,require_once
Sep 05 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 PHP
php在window iis的莫名问题的测试方法
May 14 PHP
ThinkPHP标签制作教程
Jul 10 PHP
php线性表的入栈与出栈实例分析
Jun 12 PHP
yii2.0实现创建简单widgets示例
Jul 18 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
Aug 12 PHP
PHP入门教程之PHP操作MySQL的方法分析
Sep 11 PHP
thinkPHP商城公告功能开发问题分析
Dec 01 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
Apr 06 PHP
PHP与Web页面的交互示例详解二
Aug 04 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
PHP4与PHP5的时间格式问题
2008/02/17 PHP
php表单提交实例讲解
2015/11/12 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
jQuery 3 中的新增功能汇总介绍
2016/06/12 Javascript
jQuery实现图片轮播效果代码
2016/09/27 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
详解vue中使用express+fetch获取本地json文件
2017/10/10 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
新手简单了解vue
2019/05/29 Javascript
vue集成chart.js的实现方法
2019/08/20 Javascript
Javascript实现鼠标移入方向感知
2020/06/24 Javascript
Vue+Element-U实现分页显示效果
2020/11/15 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
Python中方法链的使用方法
2016/02/23 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
python中turtle库的简单使用教程
2020/11/11 Python
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
shell程序中如何注释
2012/01/28 面试题
Jdbc数据访问技术面试题
2012/03/30 面试题
高三地理教学反思
2014/01/11 职场文书
幼儿园中秋节活动方案2013
2014/01/29 职场文书
倡议书的写法
2014/08/30 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
2019广播稿怎么写
2019/04/17 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书