Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对成员函数saveAs()的上载调用为null时出错_Php_Yii_Yii2 - Fatal编程技术网

Php 对成员函数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/'

我是一个新的程序员世界,需要你们的帮助, 我有错误“调用成员函数saveAs()时为null”

此代码在模型中使用

[['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更新您当前的代码,以便我可以准确地查看您的上下文。