在 Yii2 中获取 UploadedFile 实例的问题
Problems getting instance of UploadedFile in Yii2
我尝试使用 UploadedFile
class 将文件上传到服务器,但我无法获得实例。在我的模型中:
public $arch;
public function rules() {
return [[['arch'], 'file']];
}
之前$model->arch = file_xxxx.jpg
控制器:
$model->arch = UploadedFile::getInstance($model, 'arch');
之后$model->arch is NULL
查看:
$form = ActiveForm::begin(
['id' => 'contact-form'],
['options' => ['enctype' => 'multipart/form-data']]
);
print $form->field($model, 'arch')->fileInput()->label(false);
您可以尝试获取文件如下:
// View
<?= $form->field($model, 'arch')->fileInput(); ?>
// Controller
$model->arch = UploadedFile::getInstanceByName('arch');
getInstanceByName()
- returns 根据给定的文件输入名称上传的文件。
完成 yii2 Uploading Files 指南。
就我而言,这是因为我忘记添加
'options' => ['enctype' => 'multipart/form-data']
到 ActiveForm 选项。
我也遇到过类似的问题,发现少了"s",
$names = UploadedFile::getInstances($model, 'filename');
而且有效。
刚刚遇到那个问题,这是我在 PHP ini 文件中的上传大小。它是 2MB,文件是 2MB。我将它扩展到 200MB,一切正常!
我尝试使用 UploadedFile
class 将文件上传到服务器,但我无法获得实例。在我的模型中:
public $arch;
public function rules() {
return [[['arch'], 'file']];
}
之前$model->arch = file_xxxx.jpg
控制器:
$model->arch = UploadedFile::getInstance($model, 'arch');
之后$model->arch is NULL
查看:
$form = ActiveForm::begin(
['id' => 'contact-form'],
['options' => ['enctype' => 'multipart/form-data']]
);
print $form->field($model, 'arch')->fileInput()->label(false);
您可以尝试获取文件如下:
// View
<?= $form->field($model, 'arch')->fileInput(); ?>
// Controller
$model->arch = UploadedFile::getInstanceByName('arch');
getInstanceByName()
- returns 根据给定的文件输入名称上传的文件。
完成 yii2 Uploading Files 指南。
就我而言,这是因为我忘记添加
'options' => ['enctype' => 'multipart/form-data']
到 ActiveForm 选项。
我也遇到过类似的问题,发现少了"s",
$names = UploadedFile::getInstances($model, 'filename');
而且有效。
刚刚遇到那个问题,这是我在 PHP ini 文件中的上传大小。它是 2MB,文件是 2MB。我将它扩展到 200MB,一切正常!