在Yii2中跳过CSV文件的第一行

问题描述 投票:1回答:1

public function actionUpload(){$ model = new CsvForm();

    if($model->load(Yii::$app->request->post())){
        $file = UploadedFile::getInstance($model,'file');
        $filename = 'Data.'.$file->extension;
        $upload = $file->saveAs('uploads/'.$filename);
        if($upload){
            define('CSV_PATH','uploads/');
            $csv_file = CSV_PATH . $filename;
            $filecsv = file($csv_file);
            print_r($filecsv);
            foreach($filecsv as $data){

                $modelnew = new Customer1();
                $hasil = explode(",",$data);
                $nim = $hasil[0];
                $nama = $hasil[1];
                $jurusan = $hasil[2];
                $angkatan = $hasil[3];

                $modelnew->username = $nim;
                $modelnew->firstname = $nama;
                $modelnew->lastname = $jurusan;
                $modelnew->password = $angkatan;

                $modelnew->save();
            }
            unlink('uploads/'.$filename);
            return $this->redirect(['site/index']);
        }
    }else{
        return $this->render('upload',['model'=>$model]);
    }
}

这是我的CSV数据

user1,name,pass,info user2,name,pass,info等..,

所以我想跳过Bold内容并继续我的执行。

csv phpmyadmin yii2 yii-extensions
1个回答
0
投票

你可以改变阵列

$filecsvtemp = file($csv_file);
$filecsv = array_shift($filecsvtemp );

以这种方式,数组的第一行不存在于结果数组中

否则使用柜台

        $cnt = 0;
        $filecsv = file($csv_file);
        print_r($filecsv);
        foreach($filecsv as $data){

            if ($cnt!=0){
              $modelnew = new Customer1();
              $hasil = explode(",",$data);
              $nim = $hasil[0];
              $nama = $hasil[1];
              $jurusan = $hasil[2];
              $angkatan = $hasil[3];

              $modelnew->username = $nim;
              $modelnew->firstname = $nama;
              $modelnew->lastname = $jurusan;
              $modelnew->password = $angkatan;

              $modelnew->save();

            }
            $cnt++;
        }
© www.soinside.com 2019 - 2024. All rights reserved.