count.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. </head>
  5. <body>
  6. <p><a href="index.php">Home</a></p>
  7. <?php
  8. $dirXmlBase="xml/";
  9. $filelist=array();
  10. $fileNums=0;
  11. $log="";
  12. if(($handle=fopen("filelist.csv",'r'))!==FALSE){
  13. while(($filelist[$fileNums]=fgetcsv($handle,0,','))!==FALSE){
  14. $fileNums++;
  15. }
  16. }
  17. $g_paliWordCounter=0;
  18. for($i=0;$i<count($filelist);$i++)
  19. {
  20. $outputFileNameHead=$filelist[$i][1];
  21. $dirXml=$outputFileNameHead."/";
  22. $inputFileName=$dirXmlBase.$dirXml.$outputFileNameHead."_analysis.csv";
  23. echo "doing:[$i] - $inputFileName <br />";
  24. if(($handle=fopen($inputFileName,'r'))!==FALSE){
  25. $iLineNum=0;
  26. while(($data=fgetcsv($handle,0,','))!==FALSE){
  27. if($iLineNum>0){/*skip first line*/
  28. $pali=$data[1];
  29. if(isset($arrAllPaliWordsCount[$pali])){
  30. $arrAllPaliWordsCount[$pali][1]+=$data[2];
  31. }
  32. else{
  33. $arrAllPaliWordsCount[$pali][0]="";
  34. $arrAllPaliWordsCount[$pali][1]=$data[2];
  35. }
  36. $g_paliWordCounter+=$data[2];
  37. }
  38. $iLineNum++;
  39. }
  40. }
  41. else{
  42. echo "open file:".$inputFileName." false<br>";
  43. }
  44. fclose($handle);
  45. //union part
  46. $inputFileName=$dirXmlBase.$dirXml.$outputFileNameHead."_un_part.csv";
  47. if(($handle=fopen($inputFileName,'r'))!==FALSE){
  48. $iLineNum=0;
  49. while(($data=fgetcsv($handle,0,','))!==FALSE){
  50. $pali=$data[0];
  51. if(isset($arrAllPaliWordsCount[$pali])){
  52. }
  53. else{
  54. $arrAllPaliWordsCount[$pali][0]="";
  55. $arrAllPaliWordsCount[$pali][1]=0;
  56. }
  57. $iLineNum++;
  58. }
  59. }
  60. else{
  61. echo "open file:".$inputFileName." false<br>";
  62. }
  63. fclose($handle);
  64. }
  65. $outputfile=$dirXmlBase."all_word.csv";
  66. echo "outputfile:".$outputfile."<br>";
  67. /*Pali单词统计表*/
  68. if(($fp=fopen($outputfile, "w"))!==FALSE){
  69. $wordCountCsvHead=array("编号","拼写","数量","万分比","长度","状态");
  70. fputcsv($fp,$wordCountCsvHead);
  71. $i=0;
  72. $iLastRate=0.0;
  73. foreach($arrAllPaliWordsCount as $x=>$x_value){
  74. $i++;
  75. $csvWord[0]=$i;
  76. $csvWord[1]=$x;
  77. $csvWord[2]=$x_value[1];
  78. if($x_value[1]>0){
  79. $csvWord[3]=$x_value[1]*10000/$g_paliWordCounter;
  80. }
  81. else{
  82. $csvWord[3]=0;
  83. }
  84. $csvWord[4]=mb_strlen($x,"UTF-8");
  85. $csvWord[5]=100;
  86. fputcsv($fp,$csvWord);
  87. }
  88. fclose($fp);
  89. echo "Pali单词表统计导出到:".$outputfile.".csv<br>";
  90. }
  91. else{
  92. echo "can not open csv file. filename="."_count.csv";
  93. }
  94. echo "all done!";
  95. ?>
  96. </body>
  97. </html>