Moodle File API:多行?

时间:2017-03-23 07:58:22

标签: moodle moodle-api

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

$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));

这工作正常但是当我查看数据库表mdl_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和组件user中的上传文件共有2行。 一行有文件名但不是另一行!

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

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

2 个答案:

答案 0 :(得分:0)

据我记忆,这是正常行为。我也有这个问题,但是当你进行交叉检查时(比如将文件上传到课程中),你会注意到也有2行。不确定,为什么但对我来说这是正常行为

答案 1 :(得分:0)

这4个条目是:

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

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