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 闭包特性在实际应用中的问题
Oct 30 PHP
PHP面向接口编程 耦合设计模式 简单范例
Mar 23 PHP
奇怪的PHP引用效率问题分析
Mar 23 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
Jun 28 PHP
php生成gif动画的方法
Nov 05 PHP
Yii2框架数据库简单的增删改查语法小结
Aug 31 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
PHP实现的MD5结合RSA签名算法实例
Oct 07 PHP
php支付宝系列之电脑网站支付
May 30 PHP
Laravel5框架添加自定义辅助函数的方法
Aug 01 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 16 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 29 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/12/06 PHP
Smarty+QUICKFORM小小演示
2007/02/25 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
2010/04/12 PHP
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
Javascript中replace()小结
2015/09/30 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
JavaScript实现随机点名器
2020/03/25 Javascript
在vue中实现echarts随窗体变化
2020/07/27 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
Python实现屏幕截图的代码及函数详解
2016/10/01 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
python读取文件名并改名字的实例
2019/01/07 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
python for和else语句趣谈
2019/07/02 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
2019/08/15 Python
Python  word实现读取及导出代码解析
2020/07/09 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
施华洛世奇西班牙官网:SWAROVSKI西班牙
2019/06/06 全球购物
德国网上超市:myTime.de
2019/08/26 全球购物
经典的班主任推荐信
2013/10/28 职场文书
经典商业广告词
2014/03/13 职场文书
北京奥运会口号
2014/06/21 职场文书
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python
SQL语句中EXISTS的详细用法大全
2022/06/25 MySQL