Moodle:我创建了一个带有文件管理器元素的新表单,但它没有将上传的图像保存到服务器,仅将其存储到数据库 mdl_files

问题描述

我创建了一个带有新“文件管理器”元素的新表单,它可以工作并将上传文件存储到数据库中的 mdl 文件表中,但它没有将文件保存到服务器,因此我无法在网站中显示它们 有人可以帮忙吗!

    else if ($fromform = $mform->get_data()) {

    // $DB->insert_record('gallery',$recordinsert);
    $messagetext = file_save_draft_area_files($fromform->teacherPhotos,$context->id,'mod_glossary','attachment',$draftitemid,array('subdirs' => 0,'maxbytes' => 200000,'maxfiles' => 50),$messagetext);
                  
                   $messagetext = file_rewrite_pluginfile_urls($messagetext,'pluginfile.PHP',$draftitemid);
           
                   $out = array();
                    /** @var stored_file[] $files */

                   $fs = get_file_storage();
                   
                   $files = $fs->get_area_files($context->id,$draftitemid);
                    
                   foreach ($files as $file) {
                       $filename = $file->get_filename();

                      $url = moodle_url::make_pluginfile_url
                        ($file->get_contextid(),$file->get_component(),$file->get_filearea(),$file->get_itemid(),$file->get_filepath(),$file->get_filename(),false);
                           $out[] = html_writer::link($url,$filename);
                   }      
                   $br = html_writer::empty_tag('br');
                   echo implode($br,$out);
                  //  echo '<br><img src="'.$url.'">'; 



   

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)