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将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
用php解析html的实现代码
Aug 08 PHP
PHP实现把数字ID转字母ID
Aug 12 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 PHP
ThinkPHP应用模式扩展详解
Jul 16 PHP
php中运用http调用的GET和POST方法示例
Sep 29 PHP
五款PHP代码重构工具推荐
Oct 14 PHP
PHP中SimpleXML函数用法分析
Nov 26 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
PHP+ajax分页实例简析
Dec 07 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 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下一个非常全面获取图象信息的函数
2008/11/20 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
谈谈JavaScript类型系统之Math
2016/01/06 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
jquery.validate表单验证插件使用方法解析
2016/11/07 Javascript
Node.js与Sails redis组件的使用教程
2017/02/14 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
python数据处理实战(必看篇)
2017/06/11 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
python多线程爬取西刺代理的示例代码
2021/01/30 Python
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
2013/07/15 HTML / CSS
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
幼儿教师个人求职信范文
2013/09/21 职场文书
高中生物教学反思
2014/02/05 职场文书
社区义诊活动总结
2014/04/30 职场文书
消防志愿者活动方案
2014/08/23 职场文书
老干部工作汇报材料
2014/10/28 职场文书
python unittest单元测试的步骤分析
2021/08/02 Python