1

filemanager在 Moodle 表单中,我使用以下元素执行文件上传:

$mform->addElement('filemanager', 'attachment',get_string('displayedcontent', 'block_helloworld'), null, $filemanageropts);

验证表单后,当我在数据库中记录我的实例时,我还使用以下函数保存上传的文件:

file_save_draft_area_files($form_submitted_data->attachment, $context->id, 'block_helloworld', 'attachment',
    $form_submitted_data->attachment, array('subdirs' => 0, 'maxbytes' => 500000, 'maxfiles' => 1));

这工作正常,但是当我查看 DB tablemdl_files时,我看到我的文件有 4 行:

component       fileare     itemid  filepath    filename
block_helloworld    attachment  706783489   /   .
block_helloworld    attachment  706783489   /   test5.pdf
user    draft   706783489   /   .
user    draft   706783489   /   test5.pdf

block_helloworld我上传的文件在我的组件和组件中有 2 行user。一行有文件名,而另一行没有!

这听起来很奇怪。这正常吗?当我执行文件删除时,如何删除所有这些文件?

注意:我使用的是moodle v3.0.6

4

2 回答 2

1

4个条目是:

  • 您的文件所在的文件夹
  • 文件本身
  • 编辑表单时存储文件草稿版本的文件夹
  • 编辑表格时的草稿文件

草稿文件将在一天左右后自动清理。

于 2017-03-23T08:37:14.720 回答
0

据我记得,这是正常行为。我也遇到过这个问题,但是当您交叉检查(例如将文件上传到课程中)时,您会注意到也有 2 行。不知道为什么,但对我来说这是正常行为

于 2017-03-23T08:37:00.397 回答