前面兩個類 readDic.class.php將單個文件下的詞庫以【單詞=>翻譯】的格式,返回
readDir.class.php同樣把每個路徑下的文件以數組的格式返回
而groupDicName.class.php則解析分類名
這個類則負責一一對應的將每一個單詞存儲到對應的redis緩存的對應hash表裏,這樣講生成26*NUM ,大約100個哈希表
<?php
require_once "readDic.class.php";
require_once "readDir.class.php";
require_once "storeWord.class.php";
require_once "groupDicName.class.php";
class Server
{
private $redis=null;
private $groupName=null;
public function __construct($dir)
{
$this->groupName=new GroupDicName();
$this->redis=new StoreWord();
$this->parseDic($dir);
}
public function getDir($path)
{
$dir=new Dir($path);
return $dir->getFileList();
}
public function parseDic($dir)
{
$path=$this->getDir($dir);
foreach ($path as $wordZone => $dir)
{
foreach ($dir as $dicPath)
{
$oxf=new Oxford($dicPath);
$res=$oxf->oxf();
$gname=$this->groupName->formatName($dicPath);
$this->groupName->setIndex($dicPath);////////
$this->redis->setWord($gname, $res);
echo str_repeat(" ", 2048);
echo '單詞庫入庫: '. $dicPath. "<br />";
sleep(2);
}
echo '<font color="red">'.$wordZone.'分類存儲完畢</font><br />';
}
echo'<font color="blue">所有分類存儲完畢</font><br />';
}
}
set_time_limit(1000);
ob_implicit_flush(true);
$ser=new Server('E:\CodeEdit\php\ciba\TXT格式的牛津電子詞典\牛津電子詞典');
?>