Yii isset中的偏移量类型非法或为空

Yii isset中的偏移量类型非法或为空,yii,yii2,yii2-advanced-app,Yii,Yii2,Yii2 Advanced App,当前PHP版本:7.1.7 请帮帮我,我有这个问题 isset中的偏移量类型非法或第113行为空 我有这个问题后,我决定上传文件到我的网站 在C:\xampp\htdocs\archive\vendor\yiisoft\yii2\web\UploadedFile.php中 第113行: public static function getInstanceByName($name) { $files = self::loadFiles(); return isset($files

当前PHP版本:7.1.7

请帮帮我,我有这个问题

isset中的偏移量类型非法或第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'],
  • 此代码在控制器中运行

                $docfileload = $model->docname;
            $model->file = UploadedFile::getinstancebyname($model,'file');
            $model->file->saveAs('uploads/'.$docfileload.'.'.$model->file->extension);
            $model->save();
    
            //save path in db
            $model->docfile = 'uploads/'.$docfileload.'.'.$model->file->extension;
    
此代码为_形式

    <?= $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')

您可以展示您的代码吗?您使用的是哪个PHP版本?当前的PHP版本:7.1.7,您使用的是getInstanceByName方法吗?需要它吗?@KamranKhatti Method
getInstance()
正在使用
getInstanceByName()
。您在哪里看到它?根据您的代码,$name应该是数组中的一个键,对吗?在“return”行之前设置($files[$name])?新静态($files[$name]):null;'添加模具('键'.$名称);然后,您可以看到是否实际使用了您认为正在使用的键。$name只是函数getInstanceByName($name)fome yii2