Столкнулся с ситуацией, прошу помощи у сообщества. Непонятно, почему не могу получить файл, интернет не помог, хотя подобные темы всплывают.
Код: Выделить всё
if(isset($_FILES['uploaddata'])){
$FilesData = $_FILES['uploaddata'];
$session->set('FilesData', $FilesData);
$filename = $FilesData['name'];
$model = new UploadForm();
$xmlFile = \yii\web\UploadedFile::getInstanceByName($filename);
$session->set('filename', $filename);
$session->set('xmlFileModal', $xmlFile);
if ($xmlFile) {
....
}
}
Код: Выделить всё
\yii\web\UploadedFile::getInstanceByName($filename);
Код: Выделить всё
[
'name' => 'file.textcmd.xml'
'type' => 'text/xml'
'tmp_name' => 'C:\\xampp\\tmp\\php42E9.tmp'
'error' => 0
'size' => 2831781
]
Код: Выделить всё
$xmlFile = \yii\web\UploadedFile::getInstance($model, 'xmlFile');
который прекрасно работает.
Использовать $model и 'attribute' я не могу, т.к FileInput используется в модальном окне и, согласно документации, реализуется это так:
Код: Выделить всё
<?php Modal::begin([
'toggleButton' => [
'label'=>'Show Modal', 'class'=>'btn btn-default btn-outline-secondary'
],
]);
$form1 = ActiveForm::begin([
'options'=>['enctype'=>'multipart/form-data']
]);
echo FileInput::widget([
'name'=>'uploaddata',
'options'=>[
'multiple'=>false
],
'pluginOptions' => [
'previewFileType' => 'any',
'uploadUrl' => "index.php?r=site/uploadmodal",
]
]);
ActiveForm::end();
Modal::end();
?>
Код: Выделить всё
$form->field($modelUpload, 'xmlFile')->widget(FileInput::classname()....
Вопроса, по сути, два:
1. Как сделать, чтобы \yii\web\UploadedFile::getInstanceByName($filename); видел файл?
2. Как запихнуть FileInput c $model и 'attribute' в Modal?