isset 或 empty 中的非法偏移类型

Illegal offset type in isset or empty

当前PHP版本:7.1.7

请帮帮我,我有这个问题

Illegal offset type in isset or empty at line 113

我决定将文件上传到我的网站后遇到了这个问题

在 C:\xampp\htdocs\archive\vendor\yiisoft\yii2\web\UploadedFile.php 第 113 行:

 public static function getInstanceByName($name)
{
    $files = self::loadFiles();
    return isset($files[$name]) ? new static($files[$name]) : null;
}

伙计们,如果不清楚,请问我更多的解释,谢谢

模型中的此代码

[['file'],'file'],

_form 中的代码

    <?= $form->field($model,'file')->fileinput(); ?>

一开始我使用了 getInstance() 但 replecd getInstanceByName() 因为这里有问题

当您尝试使用对象或数组作为索引键访问数组索引时,会发生非法偏移类型错误。

您的函数定义为 getInstanceByName($name),但您使用的是 getinstancebyname($model,'file')

那里有问题

一开始我用 $model->file = UploadedFile::getinstancebyname($model,'file');

但正确的是使用 $model->file = UploadedFile::getinstance($model,'file');