Heim > php教程 > php手册 > 大文本文件分割成若干小文件的PHP程序

大文本文件分割成若干小文件的PHP程序

WBOY
Freigeben: 2016-06-06 20:11:00
Original
1247 Leute haben es durchsucht

我们在做大数据量网站的时候,有时遇到原始数据量过大的情况,如果都做成一个网站会让服务器负载过高、用户打开很慢,这时往往需要分为多个子网站来做,原始数据也需要进行分割,以便分别导入。 下面是将1个美国数据文件分割为50个各州数据文件的例子usa2sta

  我们在做大数据量网站的时候,有时遇到原始数据量过大的情况,如果都做成一个网站会让服务器负载过高、用户打开很慢,这时往往需要分为多个子网站来做,原始数据也需要进行分割,以便分别导入。

  下面是将1个美国数据文件分割为50个各州数据文件的例子usa2state.php:

<?php //程序开头注释部分开始
/*
usa.tsv分割为各州.tsv
*/
//程序开头注释部分结束
$file_usa="usa.tsv";//需要分割的整个美国文件
$file_ak="ak.tsv";//分割到各个州文件
$file_al="al.tsv";
$file_ar="ar.tsv";
$file_az="az.tsv";
$file_ca="ca.tsv";
$file_co="co.tsv";
$file_ct="ct.tsv";
$file_dc="dc.tsv";
$file_de="de.tsv";
$file_fl="fl.tsv";
$file_ga="ga.tsv";
$file_hi="hi.tsv";
$file_ia="ia.tsv";
$file_id="id.tsv";
$file_il="il.tsv";
$file_in="in.tsv";
$file_ks="ks.tsv";
$file_ky="ky.tsv";
$file_la="la.tsv";
$file_ma="ma.tsv";
$file_md="md.tsv";
$file_me="me.tsv";
$file_mi="mi.tsv";
$file_mn="mn.tsv";
$file_mo="mo.tsv";
$file_ms="ms.tsv";
$file_mt="mt.tsv";
$file_nc="nc.tsv";
$file_nd="nd.tsv";
$file_ne="ne.tsv";
$file_nh="nh.tsv";
$file_nj="nj.tsv";
$file_nm="nm.tsv";
$file_nv="nv.tsv";
$file_ny="ny.tsv";
$file_oh="oh.tsv";
$file_ok="ok.tsv";
$file_or="or.tsv";
$file_pa="pa.tsv";
$file_ri="ri.tsv";
$file_sc="sc.tsv";
$file_sd="sd.tsv";
$file_tn="tn.tsv";
$file_tx="tx.tsv";
$file_ut="ut.tsv";
$file_va="va.tsv";
$file_vt="vt.tsv";
$file_wa="wa.tsv";
$file_wi="wi.tsv";
$file_wv="wv.tsv";
$file_wy="wy.tsv";
$file_others="others.tsv";//51个州以外的数据
$fp_usa=fopen($file_usa,"r");//以只读的方式打开文件
$fp_ak=fopen($file_ak,"w");//以只写的方式打开文件
$fp_al=fopen($file_al,"w");
$fp_ar=fopen($file_ar,"w");
$fp_az=fopen($file_az,"w");
$fp_ca=fopen($file_ca,"w");
$fp_co=fopen($file_co,"w");
$fp_ct=fopen($file_ct,"w");
$fp_dc=fopen($file_dc,"w");
$fp_de=fopen($file_de,"w");
$fp_fl=fopen($file_fl,"w");
$fp_ga=fopen($file_ga,"w");
$fp_hi=fopen($file_hi,"w");
$fp_ia=fopen($file_ia,"w");
$fp_id=fopen($file_id,"w");
$fp_il=fopen($file_il,"w");
$fp_in=fopen($file_in,"w");
$fp_ks=fopen($file_ks,"w");
$fp_ky=fopen($file_ky,"w");
$fp_la=fopen($file_la,"w");
$fp_ma=fopen($file_ma,"w");
$fp_md=fopen($file_md,"w");
$fp_me=fopen($file_me,"w");
$fp_mi=fopen($file_mi,"w");
$fp_mn=fopen($file_mn,"w");
$fp_mo=fopen($file_mo,"w");
$fp_ms=fopen($file_ms,"w");
$fp_mt=fopen($file_mt,"w");
$fp_nc=fopen($file_nc,"w");
$fp_nd=fopen($file_nd,"w");
$fp_ne=fopen($file_ne,"w");
$fp_nh=fopen($file_nh,"w");
$fp_nj=fopen($file_nj,"w");
$fp_nm=fopen($file_nm,"w");
$fp_nv=fopen($file_nv,"w");
$fp_ny=fopen($file_ny,"w");
$fp_oh=fopen($file_oh,"w");
$fp_ok=fopen($file_ok,"w");
$fp_or=fopen($file_or,"w");
$fp_pa=fopen($file_pa,"w");
$fp_ri=fopen($file_ri,"w");
$fp_sc=fopen($file_sc,"w");
$fp_sd=fopen($file_sd,"w");
$fp_tn=fopen($file_tn,"w");
$fp_tx=fopen($file_tx,"w");
$fp_ut=fopen($file_ut,"w");
$fp_va=fopen($file_va,"w");
$fp_vt=fopen($file_vt,"w");
$fp_wa=fopen($file_wa,"w");
$fp_wi=fopen($file_wi,"w");
$fp_wv=fopen($file_wv,"w");
$fp_wy=fopen($file_wy,"w");
$fp_others=fopen($file_others,"w");
$count_line=0;
while(!(feof($fp_usa))) {
$line_array=fgetcsv($fp_usa,0,"\t",chr(0));//读取文件的一行
$state=strtolower($line_array[10]);//读取其中州的代码
switch ($state) {//分别写到对应的州文件
case "ak":
  fputs($fp_ak, implode($line_array,"\t")."\n");
  break;
case "al":
  fputs($fp_al, implode($line_array,"\t")."\n");
  break;
case "ar":
  fputs($fp_ar, implode($line_array,"\t")."\n");
  break;
case "az":
  fputs($fp_az, implode($line_array,"\t")."\n");
  break;
case "ca":
  fputs($fp_ca, implode($line_array,"\t")."\n");
  break;
case "co":
  fputs($fp_co, implode($line_array,"\t")."\n");
  break;
case "ct":
  fputs($fp_ct, implode($line_array,"\t")."\n");
  break;
case "dc":
  fputs($fp_dc, implode($line_array,"\t")."\n");
  break;
case "de":
  fputs($fp_de, implode($line_array,"\t")."\n");
  break;
case "fl":
  fputs($fp_fl, implode($line_array,"\t")."\n");
  break;
case "ga":
  fputs($fp_ga, implode($line_array,"\t")."\n");
  break;
case "hi":
  fputs($fp_hi, implode($line_array,"\t")."\n");
  break;
case "ia":
  fputs($fp_ia, implode($line_array,"\t")."\n");
  break;
case "id":
  fputs($fp_id, implode($line_array,"\t")."\n");
  break;
case "il":
  fputs($fp_il, implode($line_array,"\t")."\n");
  break;
case "in":
  fputs($fp_in, implode($line_array,"\t")."\n");
  break;
case "ks":
  fputs($fp_ks, implode($line_array,"\t")."\n");
  break;
case "ky":
  fputs($fp_ky, implode($line_array,"\t")."\n");
  break;
case "la":
  fputs($fp_la, implode($line_array,"\t")."\n");
  break;
case "ma":
  fputs($fp_ma, implode($line_array,"\t")."\n");
  break;
case "md":
  fputs($fp_md, implode($line_array,"\t")."\n");
  break;
case "me":
  fputs($fp_me, implode($line_array,"\t")."\n");
  break;
case "mi":
  fputs($fp_mi, implode($line_array,"\t")."\n");
  break;
case "mn":
  fputs($fp_mn, implode($line_array,"\t")."\n");
  break;
case "mo":
  fputs($fp_mo, implode($line_array,"\t")."\n");
  break;
case "ms":
  fputs($fp_ms, implode($line_array,"\t")."\n");
  break;
case "mt":
  fputs($fp_mt, implode($line_array,"\t")."\n");
  break;
case "nc":
  fputs($fp_nc, implode($line_array,"\t")."\n");
  break;
case "nd":
  fputs($fp_nd, implode($line_array,"\t")."\n");
  break;
case "ne":
  fputs($fp_ne, implode($line_array,"\t")."\n");
  break;
case "nh":
  fputs($fp_nh, implode($line_array,"\t")."\n");
  break;
case "nj":
  fputs($fp_nj, implode($line_array,"\t")."\n");
  break;
case "nm":
  fputs($fp_nm, implode($line_array,"\t")."\n");
  break;
case "nv":
  fputs($fp_nv, implode($line_array,"\t")."\n");
  break;
case "ny":
  fputs($fp_ny, implode($line_array,"\t")."\n");
  break;
case "oh":
  fputs($fp_oh, implode($line_array,"\t")."\n");
  break;
case "ok":
  fputs($fp_ok, implode($line_array,"\t")."\n");
  break;
case "or":
  fputs($fp_or, implode($line_array,"\t")."\n");
  break;
case "pa":
  fputs($fp_pa, implode($line_array,"\t")."\n");
  break;
case "ri":
  fputs($fp_ri, implode($line_array,"\t")."\n");
  break;
case "sc":
  fputs($fp_sc, implode($line_array,"\t")."\n");
  break;
case "sd":
  fputs($fp_sd, implode($line_array,"\t")."\n");
  break;
case "tn":
  fputs($fp_tn, implode($line_array,"\t")."\n");
  break;
case "tx":
  fputs($fp_tx, implode($line_array,"\t")."\n");
  break;
case "ut":
  fputs($fp_ut, implode($line_array,"\t")."\n");
  break;
case "va":
  fputs($fp_va, implode($line_array,"\t")."\n");
  break;
case "vt":
  fputs($fp_vt, implode($line_array,"\t")."\n");
  break;
case "wa":
  fputs($fp_wa, implode($line_array,"\t")."\n");
  break;
case "wi":
  fputs($fp_wi, implode($line_array,"\t")."\n");
  break;
case "wv":
  fputs($fp_wv, implode($line_array,"\t")."\n");
  break;
case "wy":
  fputs($fp_wy, implode($line_array,"\t")."\n");
  break;
default:
  fputs($fp_others, implode($line_array,"\t")."\n");
}
$count_line++;
print "\n$count_line : $state\n";
//print_r ($line_array);
//if ($count_line>=3) exit;
}
print "total=$count_line\n";
fclose($fp_usa);
fclose($fp_ak);
fclose($fp_al);
fclose($fp_ar);
fclose($fp_az);
fclose($fp_ca);
fclose($fp_co);
fclose($fp_ct);
fclose($fp_dc);
fclose($fp_de);
fclose($fp_fl);
fclose($fp_ga);
fclose($fp_hi);
fclose($fp_ia);
fclose($fp_id);
fclose($fp_il);
fclose($fp_in);
fclose($fp_ks);
fclose($fp_ky);
fclose($fp_la);
fclose($fp_ma);
fclose($fp_md);
fclose($fp_me);
fclose($fp_mi);
fclose($fp_mn);
fclose($fp_mo);
fclose($fp_ms);
fclose($fp_mt);
fclose($fp_nc);
fclose($fp_nd);
fclose($fp_ne);
fclose($fp_nh);
fclose($fp_nj);
fclose($fp_nm);
fclose($fp_nv);
fclose($fp_ny);
fclose($fp_oh);
fclose($fp_ok);
fclose($fp_or);
fclose($fp_pa);
fclose($fp_ri);
fclose($fp_sc);
fclose($fp_sd);
fclose($fp_tn);
fclose($fp_tx);
fclose($fp_ut);
fclose($fp_va);
fclose($fp_vt);
fclose($fp_wa);
fclose($fp_wi);
fclose($fp_wv);
fclose($fp_wy);
fclose($fp_others);
?>
Nach dem Login kopieren

?

自由标签:

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage