Php處理大檔案-分割和合并

來源:互聯網
上載者:User

標籤:cti   i++   fopen   scss   exist   basename   int   exists   unset   

分割檔案
/*   * 分割檔案    * 預設大小 2M=10485760/5   */  function file_split($file,$block_size=10485760/5)  {       $block_info=array();       $size=filesize($file);       $i=0;       while($size>0){           $block_info[]=array(               ‘size‘=>($size>=$block_size?$block_size:$size),               ‘file‘=>str_replace(‘.txt‘, ‘‘,$file).‘.‘.($i++).‘.txt‘           );           $size-=$block_size;       }             $fp   = fopen($file,"rb");       foreach ($block_info as $bi) {           $handle = fopen($bi[‘file‘],"wb");           fwrite($handle,fread($fp,$bi[‘size‘]));                fclose($handle);           unset($handle);       }       fclose ($fp);       unset($fp);  }
合并檔案  
  /*   * 合并檔案   * 如果合并後的檔案為 CPCUxcp111.flv.0.esplit    * 則 file=CPCUxcp111.flv,不包含.x.esplit尾碼   * save_file為另存新檔的檔案名稱   */  function file_combine($file,$save_file=‘‘){   $filename=basename($file);   $filepath=dirname($file).‘/‘;   $block_info=array();   for($i=0;;$i++){       if(file_exists($file.‘.‘.$i.‘.esplit‘) && filesize($file.‘.‘.$i.‘.esplit‘)>0){           $block_info[]=$file.‘.‘.$i.‘.esplit‘;       }else{           break;       }   }   if($save_file){       $fp   = fopen($save_file,"wb");   }else{       $fp   = fopen($file,"wb");   }   foreach ($block_info as $block_file) {       $handle = fopen($block_file,"rb");       fwrite($fp,fread($handle,filesize($block_file)));            fclose($handle);       unset($handle);   }   fclose ($fp);   unset($fp);  }

測試代碼:

file_split(‘d:/demo.txt‘);
  • 1

  問題算是解決了,不過這方面有時間還應該研究一下

Php處理大檔案-分割和合并

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.