在实验记录一中我们提到了一个获取所有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篇文档的长度:
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中:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。