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+mysql事务rollback&amp;commit示例
Feb 08 PHP
php下目前为目最全的CURL中文说明
Aug 01 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
Sep 30 PHP
php中运用http调用的GET和POST方法示例
Sep 29 PHP
php使用sql server验证连接数据库的方法
Dec 25 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
php结合web uploader插件实现分片上传文件
May 10 PHP
PHP输出多个元素的排列或组合的方法
Mar 14 PHP
MAC下通过改apache配置文件切换php多版本的方法
Apr 26 PHP
iis6手工创建网站后无法运行php脚本的解决方法
Jun 08 PHP
PHP receiveMail实现收邮件功能
Apr 25 PHP
PHP PDO数据库操作预处理与注意事项
Mar 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
不用数据库的多用户文件自由上传投票系统(1)
2006/10/09 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
jquery 表单取值常用代码
2009/12/22 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
用jquery中插件dialog实现弹框效果实例代码
2013/11/15 Javascript
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
学习Angularjs分页指令
2016/07/01 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
JS实现字符串翻转的方法分析
2018/08/31 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
js布局实现单选按钮控件
2020/01/17 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
python取代netcat过程分析
2018/02/10 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
施工员岗位职责
2014/03/16 职场文书
开发房地产协议书
2014/09/14 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
舞出我人生观后感
2015/06/16 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
Python pandas之求和运算和非空值个数统计
2021/08/07 Python
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers