当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP实现的大文件切割与合并功能示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-09-07 10:19:55 浏览: 评论:0 

这篇文章主要介绍了PHP实现的大文件切割与合并功能,涉及php针对文件的读写、字符串遍历、分割等相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP实现的大文件切割与合并功能,分享给大家供大家参考,具体如下:

分割代码

split.php

  1. <?php 
  2. $i  = 0;                 //分割的块编号 
  3. $fp  = fopen("hadoop.sql","rb");      //要分割的文件 
  4. $file = fopen("split_hash.txt","a");    //记录分割的信息的文本文件,实际生产环境存在redis更合适 
  5. while(!feof($fp)){ 
  6.     $handle = fopen("hadoop.{$i}.sql","wb"); 
  7.     fwrite($handle,fread($fp,5242880));//切割的块大小 5m 
  8.     fwrite($file,"hadoop.{$i}.sql\r\n"); 
  9.     fclose($handle); 
  10.     unset($handle); 
  11.     $i++; 
  12. fclose ($fp); 
  13. fclose ($file); 
  14. echo "ok"

合并代码

merge.php

  1. <?php 
  2. $hash = file_get_contents("split_hash.txt"); //读取分割文件的信息 
  3. $list = explode("\r\n",$hash); 
  4. $fp = fopen("hadoop2.sql","ab");    //合并后的文件名 
  5. foreach($list as $value){ 
  6.   if(!emptyempty($value)) { 
  7.     $handle = fopen($value,"rb"); 
  8.     fwrite($fp,fread($handle,filesize($value))); 
  9.     fclose($handle); 
  10.     unset($handle); 
  11.   } 
  12. fclose($fp); 
  13. echo "ok";

Tags: PHP大文件切割 PHP合并

分享到: