如何把一個TXT文本文件按行數分割成多個文本文件


2011-04-27 12:00:24|  分類: 默認分類 |字號 訂閱

 
 

網上有很多文本分割軟件都是按字節大小來分割的,主要用於小說類的文本分割,對於比較有規則的內容按行數進行分割非常不方便,所以我寫了一個按行數把文本文件分割成多個文本文件

主要作用:比如您獲取上萬個長尾關鍵詞,你想通過隨機的方式調用100條或者50條。假如是只有一個文本文件(上萬行),你需要讀取該文件所有行到數組,然后打亂數組,讀取前50條,效率非常低。

而你把該文本文件用分割器分割成1.txt  2.txt…… 100.txt(隨機打亂了行數),那么你只要先隨機從1-100中產生一個隨機數

然后讀取該隨機數文本(比如55對應 55.txt),是不是效率很高呀。

 

<?php  
 // txt按行無序分割器    
$fileName = "1.txt"; //源TXT文件   
$start=1;     //分割TXT初始值   
$num=10;     //每個TXT多少行   
$content = file_get_contents($fileName);   
//$content =iconv("UTF-8", "gb2312//IGNORE",$content);    //如果原TXT為UTF-8編碼,請取消注釋   
$contents = explode("\r\n",$content);   
shuffle($contents);   //打亂順序   
$countcount = count($contents);    
echo  $count;   
$newcontents='';   
$j=0;   
for($i=0;$i<$count;$i++){    
$newcontents.=$contents[$i]."\r\n";   
if ((($i % $num==0) && $i<>0) || ($i==$count-1) )   
    {   
  
$handle=fopen("txt/".($start+$j).".txt",'w');    
 fwrite($handle,$newcontents);    
 fclose($handle);   
    $j++;   
    $newcontents='';   
    }   
}   
?>  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM