PHP读取文件夹下的所有txt文件内容并存入数据库

现在有一个日志文件夹,我需要把这个文件夹下的所有txt里面的内容解析出来并存入数据库
现在有一个日志文件夹
每个文件夹内都是1W条这种json字符串
在这里插入图片描述

//读取文件夹
 public function read_file(){
            header("content-type:text/html;charset=utf-8");
            // 获取文件夹中的所有txt文件名
            $dir = "rizhi/"; //这里输入其他路径
            $handle = opendir($dir.".");
            $row = array();
            while (false!=($file=readdir($handle)))
            {
                if($file!="."&&$file!="..")
                {
                    $row[]['name'] = $file;//输出文件名
                }
            }
            $files = [];
            foreach ($row as $k => $v) {
                $files[] = $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");
            $file = 'rizhi/'.$file_name;
            ###判断该文件是否存在
            if(file_exists($file)){
                $file_arr = file($file); ###得到数组
                $arr_new = array();

                ####对数组的处理
                foreach($file_arr as $v){
                    $a = trim($v);
                    $a = str_replace("\r\n","",$a);
                    $a = str_replace("\r","",$a);
                    $a = str_replace("\n","",$a);
                    $arr_new[] = $a;
                }
                foreach ($arr_new as $k => $v) {
                    $arr_new[$k] = json_decode($arr_new[$k]);
                }
                //$arr_new 就是我所需要的二维数组,可以循环存进数据库啦。
           }else{
				echo "文件不存在";
		}
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值