count.php 2.3 KB

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