public function tr_td($bookdir) { $BOOKDIR = $bookdir; //"books/c"; $ud = new Ureaddir(); $arr = $ud->readdir2arr($BOOKDIR); foreach ($arr[0] as $dir) { echo "<tr>"; echo "<td><a href='book_statistic.php?book=" . $BOOKDIR . $dir . "'>" . $dir . "</a></td>\r\n"; ////////////////////// echo "<td>"; $udf = new Ureaddir(); $udf->readdir2arr_RecursFiles($BOOKDIR . $dir); foreach ($udf->dirFiles as $fname) { echo "<a href='" . $fname . "'>" . basename($fname) . "</a><br>\r\n"; } echo "</td>"; /////////////////////// echo "<td>"; //echo $BOOKDIR.$dir; echo $_REQUEST["keyword"]; echo ChineseCharacterStatistic::FindStatisticFromFile($BOOKDIR . $dir, $_REQUEST["keyword"]); echo "</td>"; } }
<?php require_once "./uti/ChineseCharacterStatistic.php"; $ccs = new ChineseCharacterStatistic(array("./books/cqzz.htm")); //$ccs->run(); //$ccs->display(); $ccs->view(__FILE__); exit(0);
$this->WordsCountGtr1 = $i; break; } } } function display() { $AccumulatedUsage = 0; $AccumulatedUsagePercent = 0; $WordCount = count($this->WordFreqArr); $WordFreqAverage = $this->TotalWords / $WordCount; $WRFAvg = $WordFreqAverage / $this->TotalWords; $i = 0; $txt = "totwords=%d, avfre=%5.2f, %5.2f<br>\n"; printf($txt, $this->TotalWords, $WordFreqAverage, $WRFAvg); print "idx, ccode, Char = Freq, (CRF,WRF, RRK)<br>"; foreach ($this->WordFreqArr as $key => $val) { $AccumulatedUsage += $val; $AccumulatedUsagePercent = 100 * $AccumulatedUsage / $this->TotalWords; $UsageRate = 100 * $val / $this->TotalWords; $RelativeRank = 100 * ($WordCount - $i) / $WordCount; $txt = "%03d, %s, %s = %05d ( %5.2f, %5.2f, %5.2f )<br>\n"; printf($txt, $i, substr($key, 2, 5), $key, $val, $AccumulatedUsagePercent, $UsageRate, $RelativeRank); $i++; } } } //class $ccs = new ChineseCharacterStatistic(array("../books/cb_nt.htm")); $ccs->run(); $ccs->display();
<?php require_once "../uti/ChineseCharacterStatistic.php"; require_once "../uti/EnglishWordsStatistic.php"; require_once "../uti/Ureaddir.php"; require_once "../uti/MysqlJiaguwen.php"; $BOOKDIR = $_GET["book"]; if (isset($_GET["fu"])) { $out = ChineseCharacterStatistic::BookDir2outfile($BOOKDIR, true); unlink($out); } syslog(0, $BOOKDIR); $ud = new Ureaddir(); $arr = $ud->readdir2arr_RecursFiles($BOOKDIR); $ccs = null; if (ChineseCharacterStatistic::IsChaninese($BOOKDIR)) { syslog(0, $BOOKDIR); $ccs = new ChineseCharacterStatistic($arr); } else { $ccs = new EnglishWordsStatistic($arr); } $ccs->run(); //$ccs->display(); print $ccs->get_view_content($BOOKDIR); //reload if already exist to save time. print "<br>Uniq Chinese from book:<br>"; $chinesezid = array(); foreach ($ccs->WordFreqArr as $key => $arr) { $chinesezid[] = substr($key, 2, 5); } sort($chinesezid);
public static function FindStatisticFromFile($bookdir, $keyword) { if (!isset($keyword)) { return ""; } $pathfilename = ChineseCharacterStatistic::BookDir2outfile($bookdir, true); syslog(0, $bookdir . $keyword); if (!file_exists($pathfilename)) { return $keyword; } //return $pathfilename . $keyword; $data = file_get_contents($pathfilename); if (false == $data) { syslog(0, "failed to read file:" . $pathfilename); } $bChinese = ChineseCharacterStatistic::IsChaninese($bookdir); $map = new MapChineseGbEnglishWord(); $keyword = $map->getChineseGB($keyword, $bChinese); //ChineseCharacterStatistic::LanguageTranslate($bookdir, $keyword); $out = ChineseCharacterStatistic::FindStatisticFromData($data, $keyword); return $out; }