php获取CSV后缀文件中的内容,并把某一列的数据重写到txt文件中

说明:在下目前是新手,写的不好的地方请联系站长进行指教.

需要注意的地方:
Alt
Alt
Alt

其他的都是系统在自己获取.

下面是read_file.php中的类:

<?php


class read_file
{
    public function read_filea($filename,$digital=""){
        if (pathinfo($filename,PATHINFO_EXTENSION) =="csv"){
            $file = fopen("a/".$filename,'r');
            $goods_list=[];
            while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容

//print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可

                $goods_list[] = $data;

            }
            if ($digital==""){
                $nameqs=$filename.".txt";
            }else{
                $nameqs=$filename."+".$digital.".txt";
            }

            foreach ($goods_list as $k=>$a){

                if (strstr($goods_list[$k][0], 'aid')){
                    $sd =  substr($goods_list[$k][0],strripos($goods_list[$k][0],"aid=")+4);
                    @$sdq = $sd+$digital;
                    $x = strtr($goods_list[$k][0],$sd,$sdq)."\r\n";
                }
                if (strstr($goods_list[$k][0], 'tid')){
                    $sd =  substr($goods_list[$k][0],strripos($goods_list[$k][0],"tid=")+4);
                    $sd = substr($sd,0,strrpos($sd,'&'));

                    @$sdq = $sd+$digital;
                    $x = strtr($goods_list[$k][0],$sd,$sdq)."\r\n";
                }
                $goods_list[$k][4]=$x;
            }
            foreach($goods_list as $v=>$t){
                if(file_exists($nameqs)==false){
                    $myfile = fopen($nameqs, "w");
                }
                fwrite($myfile, $goods_list[$v][4]);
                @fclose($nameqs);
                echo "已把".$goods_list[$k][4]."写入到".$nameqs."文件中";
            }
        }
    }
}
index.php 调用该类

<?php



include('read_file.php');
$read_file=new read_file();
$dir =  dirname(__FILE__);
$dir = $dir."/a";
//获取目录下的所有文件
$file = scandir($dir);

foreach ($file as $q){
     $read_file->read_filea($q);
}

此页代码转载于:https://daysky.top/php/get-csv-content.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值