Почему не работает загрузка Yii2?
Есть модуль для загрузки презентации:
<?php
namespace frontend\models;
use yii\base\Model;
use yii\web\UploadedFile;
class UploadPresentation extends Model
{
/**
* @var UploadedFile[]
*/
public $presentation;
public function rules()
{
return [
[['presentation'], 'file', 'skipOnEmpty' => false, 'extensions' => 'jpg, png, pdf, ppt, docx'],
];
}
public function upload() {
if ($this->validate()) {
$name = time() . '-' . $this->presentation->baseName . '.' . $this->presentation->extension;
$this->presentation->saveAs('uploads/presentation/' . $name);
return $name;
} else {
return false;
}
}
}
И само использование данного модуля в контроллере :
$pmodel = new UploadPresentation();
$pmodel->presentation = UploadedFile::getInstances($pmodel, 'presentation');
if ($uploadedPresentationFile = $pmodel->upload()) {
$uploadedPresentation = $uploadedPresentationFile;
}else{
$uploadedPresentation = 'test';
}
Но данное условие $uploadedPresentationFile = $pmodel->upload() постоянно выкидывает false. Почему? Изначально я думал что что-то не так с валидацией, мол загружаю неподдерживаемый формат файла, но добавив еще кучу расширений файлов, понял, что проблема не в этом.