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代码
Apr 09 PHP
用PHP与XML联手进行网站编程代码实例
Jul 10 PHP
php 连接mssql数据库 初学php笔记
Mar 01 PHP
flash用php连接数据库的代码
Apr 21 PHP
gd库图片下载类实现下载网页所有图片的php代码
Aug 20 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
PHP中的闭包(匿名函数)浅析
Feb 07 PHP
php结合ACCESS的跨库查询功能
Jun 12 PHP
php生成静态html页面的方法(2种方法)
Sep 14 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
Mar 18 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
PHP中字符与字节的区别及字符串与字节转换示例
Oct 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
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
nodejs用gulp管理前端文件方法
2018/06/24 NodeJs
JavaScript的词法结构精华篇
2018/10/17 Javascript
JS+JQuery实现无缝连接轮播图
2020/12/30 jQuery
使用jquery实现轮播图效果
2021/01/02 jQuery
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
python Celery定时任务的示例
2018/03/13 Python
python多进程实现文件下载传输功能
2018/07/28 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
Python气泡提示与标签的实现
2020/04/01 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
市场营销专科应届生求职信
2013/11/24 职场文书
《最可爱的人》教学反思
2014/02/14 职场文书
农林环境专业求职信
2014/03/13 职场文书
党的群众教育实践活动实施方案
2014/06/12 职场文书
爱护公共设施标语
2014/06/24 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
学校党支部承诺书
2015/04/30 职场文书