Я бы хотел загрузить сразу несколько файлов. У меня естьПравила yii2 не применяются к атрибутам non-db?
модель:
class KakiKingModel extends ActiveRecord {
public $uploadedFiles;
public function rules() {
return [
[['uploadedFiles'], 'file', 'extensions' => 'txt', 'checkExtensionByMimeType' => false, 'skipOnEmpty' => true, 'maxFiles' => 2]];
}
...
контроллер:
use yii\web\UploadedFile;
...
public function actionUpload() {
$model = new KakiKingModel;
$t = new KakiKingModel;
if (Yii::$app->request->isPost) {
$files = UploadedFile::getInstances($model, 'uploadedFiles');
$t = [];
$i = 0;
foreach ($files as $i => $file) {
$t[$i] = new KakiKingModel;
$t[$i]->contentUploadedFile = file($file->tempName);
$t[$i]->assign(); // assign file content to model attributes
$i++;
}
if (Model::validateMultiple($t)) {
foreach ($t as $item) {
$item->save(false);
}
return $this->redirect(['index']);
} else {
return $this->render('upload', [
'model' => $model,
't' => $t,
]);
}
}
return $this->render('upload', [
'model' => $model,
't' => $t,
]);
}
вид:
$form = ActiveForm::begin([
....
'options' => ['enctype' => 'multipart/form-data'],
...
<?= $form->field($model, 'uploadedFiles[]')->fileInput(['multiple' => true]) ?>
и проблема, он принимает любые другие типы файлов также! Почему это? Что я делаю не так? Благодаря! UPDATE: Я немного изменил свой контент, так что вы можете лучше понять, почему я нахожу его тревожным, что он не работает. Он должен работать ИМХО. Не могли бы вы мне помочь? Спасибо!
Я пробовал, но, к сожалению, это не имеет значения. – user2511599
у вас пропало что-то плз проверить код еще раз, и попытаться сушить пробег. –
что мне не хватает? Я тоже пробовал без '[]', но никаких изменений. – user2511599