聯系信息

                        php批量讀取txt文件并寫入mysql

                        2022-02-08 12:16 By 致遠 1360
                        當前位置: 企業網站建設 > ThinkPHP > php批量讀取txt文件并寫入mysql

                        用了147seo的采集工具采集數據,它與火車頭和八爪魚等不一樣,采集到的每一篇文章都單獨保存成一個txt文件,文章標題即txt的文件名稱,文章內容就寫入txt中。對于這樣的數據處理之前并沒有做過,但大致思路就是通過opendir和readdir遍歷文件夾,再利用fread、file_get_contents等讀取內容即可。

                        我就用file_get_contents了。核心代碼如下:

                        //讀取文件夾
                            public function read_file(){
                                header("content-type:text/html;charset=utf-8");
                                // 獲取文件夾中的所有txt文件名
                                $dir = "art/"; //這里輸入其他路徑
                                $handle = opendir($dir.".");
                                $row = array();
                                while (false!=($file=readdir($handle))){
                                    if($file!="."&&$file!=".."){
                                        $row[]['name'] = $file;//輸出文件名
                                    }
                                }
                                $files = [];
                                foreach ($row as $k => $v) {
                                    $files[] = iconv('GBK','utf-8',$row[$k]['name']);
                                    //這里需要轉碼,要不會出現亂碼
                                }
                                //$files是該文件夾下所有txt文件的名字
                                foreach ($files as $k => $v) {
                                    $this->read_txt($files[$k]);//這里循環讀取每一個txt文件內的內容并做數據庫處理
                                }
                                closedir($handle);
                                exit;
                            }
                        //讀取txt文件
                            protected function read_txt($file_name){
                                header("content-type:text/html;charset=utf-8");
                                $fname = 'http://www.multi.com/art/'.$file_name;
                                $fname=iconv('utf-8','GBK',$fname);
                                //這里需要再次轉碼,要不get不到文件
                                $file_name=preg_replace('/\(.*?\)|(.*?)|\s+|\.txt|\.|_|【.*?】|"|\'|\[.*?\]|-|「.*?」|『.*?』|\d+月\d+日|.*?\|/i','',$file_name);
                                //去除一些標題中的內容,這個根據你的需要修改或者刪除
                                $cont=file_get_contents($fname);
                                $cont=preg_replace('/原標題.*?<|責任編輯.*</','<',$cont);
                                //簡單去除一些正文內容,根據你的需要修改或刪除
                                $arr=array(
                                    'title'=>removeEmojiChar($file_name),
                                    'cont'=>removeEmojiChar($cont)
                                );
                                M('Article')->add($arr);
                                //寫入數據庫
                             }
                        重點是兩次iconv轉碼需要注意一下。


                        © 致遠 2022-02-08,原創內容,轉載請注明出錯:php批量讀取txt文件并寫入mysql

                        留下您的評論

                        > 人人爽人人澡人人高潮_免费无码国产V片在线观看_18禁裸乳无遮挡免费观看_国产99在线 | 欧美_中文字幕无码无码专区 无码国产成人午夜电影在线观看 亚洲の无码国产の无码影院 最新版天堂资源中文官网 成人国内精品久久久久影院VR 青柠在线影院观看日本 色视频WWW在线播放国产人成 人妻熟妇与黑人HDXⅩXX 日本高清在线视频WWW色 一本色道久久综合亚州精品蜜桃 久久WWW成人_看片