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 相关文章推荐
PHP5/ZendEngine2的改进
Oct 09 PHP
特详细的PHPMYADMIN简明安装教程
Aug 01 PHP
PHP注释实例技巧
Oct 03 PHP
php feof用来识别文件末尾字符的方法
Aug 01 PHP
第六章 php目录与文件操作
Dec 30 PHP
YII路径的用法总结
Jul 09 PHP
PHP ignore_user_abort函数详细介绍和使用实例
Jul 15 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
php上传文件问题汇总
Jan 30 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
PHP实现15位身份证号转18位的方法分析
Oct 16 PHP
PHP程序守护进程化实现方法详解
Jul 16 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从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
nginx下安装php7+php5
2016/07/31 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
php7 新增功能实例总结
2020/05/25 PHP
摘自启点的main.js
2008/04/20 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
BootStrap modal模态弹窗使用小结
2016/10/26 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
JS实现简易换图时钟功能分析
2018/01/04 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
实现高性能javascript的注意事项
2019/05/27 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
深入理解Javascript中的this关键字
2015/03/27 Python
Python实现堆排序的方法详解
2016/05/03 Python
Python绘制七段数码管实例代码
2017/12/20 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
Django实现学生管理系统
2019/02/26 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
Python 发送邮件方法总结
2020/08/10 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
成教自我鉴定
2013/10/27 职场文书
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
春节请假条
2014/04/11 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
环保口号大全
2014/06/12 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python
python函数的两种嵌套方法使用
2022/04/02 Python