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中截取中文字符串的代码小结
Jul 17 PHP
PHP中用hash实现的数组
Jul 17 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
php根据年月获取季度的方法
Mar 31 PHP
php中fsockopen用法实例
Jan 05 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
php实现转换html格式为文本格式的方法
May 16 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
Sep 02 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
laravel 配置路由 api和web定义的路由的区别详解
Sep 03 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 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
用户的详细注册和判断
2006/10/09 PHP
datagrid框架的删除添加与修改
2013/04/08 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
2013/10/11 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
Python标准库之sqlite3使用实例
2014/11/25 Python
通过C++学习Python
2015/01/20 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
python3实现mysql导出excel的方法
2019/07/31 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
欧洲著名的二手奢侈品网站:Vestiaire Collective
2020/03/07 全球购物
工程造价专业大学生自荐信
2013/10/01 职场文书
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
HR求职自荐信范文
2014/06/21 职场文书
二人合伙经营协议书
2014/09/13 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
2015年父亲节寄语
2015/03/23 职场文书
哈姆雷特读书笔记
2015/06/29 职场文书
大学新生入学感想
2015/08/07 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers
win7配置本地ftp服务器的图文教程
2022/08/05 Servers