Php 对成员函数saveAs()的上载调用为null时出错
我是一个新的程序员世界,需要你们的帮助, 我有错误“调用成员函数saveAs()时为null” 此代码在模型中使用Php 对成员函数saveAs()的上载调用为null时出错,php,yii,yii2,Php,Yii,Yii2,我是一个新的程序员世界,需要你们的帮助, 我有错误“调用成员函数saveAs()时为null” 此代码在模型中使用 [['file'],'file'], 此代码在控制器中运行 $docfileload = $model->docname; $model->file = UploadedFile::getinstance($model,'file'); $model->file->saveAs('uploads/'
[['file'],'file'],
- 此代码在控制器中运行
$docfileload = $model->docname; $model->file = UploadedFile::getinstance($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(); ?>
在我使用getInstanceByName之后,比如@bluehipy告诉我我有一个新问题,请看图片
UploadedFile::getinstance
返回文件的数组。使用getInstanceByName
或UploadedFile::getinstance($model,'file')[0]
UploadedFile::getinstance
返回文件的数组。使用getInstanceByName
或UploadedFile::getinstance($model,'file')[0]
尝试以下方法:
$model->file=UploadedFile::getInstance($model,'file');
$model->pic=$model->file->extension; // pic is a field in database varchar(20)
$model->save(false) ;
$ImageName=$model->id;
if (!file_exists('uploads/'.$ImageName)) {
mkdir('uploads/'.$ImageName, 0777, true);
}
$model->file->saveAs( 'uploads/'.$ImageName.'/'.$ImageName.'.'.$model-
>file->extension );
`试试这个:
$model->file=UploadedFile::getInstance($model,'file');
$model->pic=$model->file->extension; // pic is a field in database varchar(20)
$model->save(false) ;
$ImageName=$model->id;
if (!file_exists('uploads/'.$ImageName)) {
mkdir('uploads/'.$ImageName, 0777, true);
}
$model->file->saveAs( 'uploads/'.$ImageName.'/'.$ImageName.'.'.$model-
>file->extension );
`我尝试使用getInstanceByName,但出现新消息错误“isset中的偏移量类型非法或为空”@Abdul FattahEl Hamali where?哪一行?公共静态函数getInstanceByName($name){$files=self::loadFiles();返回isset($files[$name])?新建静态($files[$name]):null;//在此行停止}返回isset($files[$name])?新静态($files[$name]):null@Abdul FattahEl Hamali更新您的当前代码,以便我可以准确查看您的上下文。我尝试getInstanceByName,但我收到新消息错误“isset中的偏移量类型非法或为空”@Abdul FattahEl Hamali where?哪一行?公共静态函数getInstanceByName($name){$files=self::loadFiles();返回isset($files[$name])?新建静态($files[$name]):null;//在此行停止}返回isset($files[$name])?新静态($files[$name]):null@Abdul FattahEl Hamali更新您当前的代码,以便我可以准确地查看您的上下文。