盲反饋檢索系統實驗記錄二

在實驗記錄一中我們提到了一個獲取所有txt格式的IT新聞內容的方法fileStr,在獲取內容的同時我們也計算出了每篇新聞的長度(包括標點符號):

//獲取每篇文檔的內容和長度
static public function fileStr(){
    $file_dir=self::fileDir(TEXT_PATH);
    $str=array();   //存儲文檔和長度
    for($i=0;$i<count($file_dir);$i++){
        $str[$i]['con']=file_get_contents(TEXT_PATH.'/'.$file_dir[$i]); //讀取文本
        $str[$i]['con']=preg_replace('/\s+/','',$str[$i]['con']);       //消除空格,這樣做就不適合英文檢索
        $str[$i]['len']=mb_strlen($str[$i]['con'],'gbk');       //文本長度
    }
    return $str;
}


fileStr方法調用了工具類定義的一個靜態方法fileDir,fileDir返回的是IT新聞目錄下所有文件的文件名。fileStr方法通過一個for循環獲取每篇文檔的內容,並把它們放入一個二維數組$str中,其中$str[i]['con']保存大的是第i篇文檔的內容,$str[i]['len']保存的是第i篇文檔的長度:

wKioL1M6L-rDAMTtAASzRBmfYU8442.jpg


fileDir方法的代碼如下:


//取出所有文檔目錄
static public function fileDir($path){
    $files_name=array();
    $dir=opendir($path);
    while (false!==($file=readdir($dir))) {
        if ($file != "." && $file != ".."){
            $files_name[]=$file;
        }
    }
    closedir($dir);
    return $files_name;
}

該方法需要傳遞一個參數,該參數保存的是新聞文件的目錄。通過opendir目錄函數讀取目錄文件,並把文件名存在數組$file_name中:

wKiom1M6MUaT40hhAACAkZJzkx0747.jpg
























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章