【问题标题】:Moodle, upload and store files using moodle formsMoodle,使用moodle表单上传和存储文件
【发布时间】:2012-08-26 02:09:25
【问题描述】:

我在使用 Moodle 表单实现 Moodle 上传机制时遇到了一些困难。我的目标是让用户/管理员上传图像,存储它们并稍后在一个块中访问。

目前,我的格式如下:

$mform->addElement('filemanager', 'attachments', 'Pic:', null, array('subdirs' => 0, 'maxfiles' => 1,'accepted_types' => '*' ));

然后保存文件:

if ($draftitemid = file_get_submitted_draft_itemid('attachments')) {
file_save_draft_area_files($draftitemid, $context->id, 'mod_assignment', 'attachments', 0, array('subdirs' => false, 'maxfiles' => 1));
}

我尝试像这样访问文件:

file_encode_url($CFG->wwwroot . '/pluginfile.php', '/' . $context->id . '/mod_assignment/attachments')

我没有收到任何错误,但我也无法访问该文件。我正在使用moodle 2.0。

提前致谢, 保重

【问题讨论】:

  • 你检查过你的错误日志并启用错误,可能是你的权限问题。
  • 是的,它是一个测试服务器,总是启用错误。我还检查了日志,那里什么也没有。我真的不明白。

标签: php file-upload moodle


【解决方案1】:

听起来您正在寻找编写自定义块,在这种情况下,您应该将 block_myblock 作为组件名称而不是 mod_assignment

每个提供文件服务的 Moodle 组件都需要在 lib.php 中定义自己的函数来处理文件请求。在您的情况下,该函数希望被称为block_myblock_pluginfile()

block_html_pluginfile() 就是一个很好的例子,它可以在 moodle/blocks/html/lib.php 中找到,它的功能与您想要的非常相似。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-04
  • 1970-01-01
  • 1970-01-01
  • 2017-10-13
  • 1970-01-01
相关资源
最近更新 更多