Почему не сохраняется фаил?

public function actionParserphp()
    {
        $execelparser = new Parser();
        if ($execelparser->load(Yii::$app->request->post())) {
            $parsers = Yii::$app->request->post('Parsers');
            $execelparser->files = UploadedFile::getInstance($execelparser, 'files');
            $years = date('Y');
            $mounts = date('m');
            $path = 'files';
            $files_to = TransliteratorHelper::process($execelparser->files->name, '', 'en');
            if (file_exists(Yii::getAlias('@frontend/web/') . $path . '/' . $years . '/' . $mounts . '/')) {
            } else {
                mkdir(Yii::getAlias('@frontend/web/') . $path . '/' . $years . '/' . $mounts . '/', 0777, true);
            }
            $execelparser->files->saveAs(Yii::getAlias('@frontend/web/') . $path . '/' . $years . '/' . $mounts . '/' . $files_to);
            //$f = fopen(Yii::getAlias('@frontend/web/').$path.'/'.$years.'/'.$mounts.'/'.$files_to,'r');
            return $this->render('parser',[
                'model'     => $execelparser
            ]);
        }else{
            return $this->render('parser',[
                'model'     => $execelparser
            ]);
        }
    }


ничего не пишет просто не сохраняет_csrf есть как можно узнать в чем ошибка?
Проверял все по файлу в общем итоге вот это
return var_dump(UploadedFile::getInstance($execelparser, 'files'));

выдает

public 'name' => string 'uh1880502_dom.php' (length=17)
  public 'tempName' => string '' (length=0)
  public 'type' => string '' (length=0)
  public 'size' => int 0
  public 'error' => int 1


как понять что это за ошибка public 'error' => int 1
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
У Вас нет файла в $_FILE, это видно из 'tempName' => string '' и error собственно по этому поводу. Смотрите форму отправки, стоит ли multipart/form-data и т.д.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@melnikov_m
public 'error' => int 1 - это константа как я понимаю - define ('UPLOAD_ERR_INI_SIZE', 1);
собственно об этом говорит public 'size' => int 0
Типа пустой файл..
UPD
Посмотрите что у вас в переменной $type - можно ли вообще заливать тип файла php?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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