/** * todo проблемы с кодировкой в csv файле */ public function actionAirline() { $file = Yii::getAlias('@upload/airlines.csv'); $this->stdout('Request CSV: Airlines.' . PHP_EOL, Console::FG_GREEN); if (file_exists($file)) { $handle = fopen($file, "r"); $count = 0; while (!feof($handle)) { $buffer = explode(';', trim(fgets($handle, 4096))); $airline = Airline::find()->where(['code' => $buffer[0]])->one(); if (!$airline) { $this->stdout($buffer[0] . ' ', Console::FG_YELLOW); $airline = new Airline(); $airline->code = $buffer[0]; $airline->name = $buffer[1]; if (!$airline->save()) { print_r($buffer); print_r($airline->errors); return Controller::EXIT_CODE_ERROR; } $count++; } } fclose($handle); $this->stdout(PHP_EOL . 'Added: ' . $count . ' Airlines.' . PHP_EOL, Console::FG_BLUE); return Controller::EXIT_CODE_NORMAL; } else { $this->stdout('No file: ', Console::FG_RED); echo $file . PHP_EOL; return Controller::EXIT_CODE_ERROR; } }