Yii isset中的偏移量类型非法或为空
当前PHP版本:7.1.7 请帮帮我,我有这个问题 isset中的偏移量类型非法或第113行为空 我有这个问题后,我决定上传文件到我的网站 在C:\xampp\htdocs\archive\vendor\yiisoft\yii2\web\UploadedFile.php中 第113行: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
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