Почему опять ошибка с загруской файлов?

пытаюсь организовать загрузку файла xlsx. Вот контролер.

public function actionExcelparser(){
            $execelparser= new ParsersExcel();
    
            if ($execelparser->load(Yii::$app->request->post())){
                $execelparser->files = UploadedFile::getInstance($execelparser, 'files');
                $years=date('Y');
                $mounts=date('m');
                $path='files';
                foreach ($execelparser->files as $file) {
                    $files_to = TransliteratorHelper::process($file->name, '', 'en');
                    if ($execelparser->upload($path,$years,$mounts,$files_to)) {
                        $data = \moonland\phpexcel\Excel::import(Yii::getAlias('@frontend/web/').$path.'/'.$years.'/'.$mounts.'/'.$files_to);
                    }
                }
                    return $this->render('excelparser',[
                            'data'=>$data
                    ]);
            }else{
                return $this->render('excelparser', [
                    'model'     => $execelparser
                ]);
            }
        }


вот модель

<?php
    namespace backend\models;
    
    use Yii;
    use yii\base\Model;
    use backend\models\Parsers;
    
    
    class ParsersExcel extends Model{
       public $files;
       //public $excel;
      public function rules()
        {
            return [
                [['files'], 'file','skipOnEmpty' => true, 'extensions' => 'xls, xlsx'],
            ];
        }
        public function upload($path,$years,$mounts,$files_to){
            if ($this->validate()) {
                if (file_exists(Yii::getAlias('@frontend/web/').$path.'/'.$years.'/'.$mounts.'/')) {
                } else {
                    mkdir(Yii::getAlias('@frontend/web/').$path.'/'.$years.'/'.$mounts.'/', 0775, true);
                }
                $this->files->saveAs(Yii::getAlias('@frontend/web/').$path.'/'.$years.'/'.$mounts.'/'.$files_to);
                return true;
            } else {
                return false;
            }
        }

а вот такую ошибку он мне выдает

move_uploaded_file(): The second argument to copy() function cannot be a directory


не подскажите почему? И как правильно организовать загрузку?
  • Вопрос задан
  • 409 просмотров
Решения вопроса 1
Про загрузку файлов можешь тут прочитать.
"The second argument to copy() function cannot be a directory" Во втором параметре надо передать файл, а не папку.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы