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 error_log 函数的使用
Apr 13 PHP
php 多个submit提交表单 处理方法
Jul 07 PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
Jan 06 PHP
php数组操作之键名比较与差集、交集赋值的方法
Nov 10 PHP
PHP查询快递信息的方法
Mar 07 PHP
PHP回溯法解决0-1背包问题实例分析
Mar 23 PHP
基于CakePHP实现的简单博客系统实例
Jun 28 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
利用PHP绘图函数实现简单验证码功能的方法
Oct 18 PHP
浅谈PHP中关于foreach使用引用变量的坑
Nov 14 PHP
Laravel开启跨域请求的方法
Oct 13 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之COOKIE支持详解
2006/10/09 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
php源码的安装方法和实例
2019/09/26 PHP
js 蒙版进度条(结合图片)
2010/03/10 Javascript
IE的fireEvent方法概述及应用
2013/02/22 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
JS添加或删除HTML dom元素的方法实例分析
2019/03/05 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
go语言计算两个时间的时间差方法
2015/03/13 Python
python僵尸进程产生的原因
2017/07/21 Python
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
python自定义函数def的应用详解
2020/06/03 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
Pandas的数据过滤实现
2021/01/15 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
JSF的标签库有哪些
2012/04/27 面试题
大学开学计划书
2014/04/30 职场文书
大学生毕业评语
2014/12/31 职场文书
标枪加油稿
2015/07/22 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server