php - Moodle,使用 Moodle 表单上传和存储文件

标签 php file-upload moodle

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

目前,我的形式是这样的:

$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。

提前致谢, 保重

最佳答案

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

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

这方面的一个很好的例子是 block_html_pluginfile(),它可以在 moodle/blocks/html/lib.php 中找到并且做的事情与您想要的非常相似.

关于php - Moodle,使用 Moodle 表单上传和存储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12127126/

相关文章:

php - 在 Azure 中运行 Fuel Php

PHP Paypal IPN争议处理

html - 三星平板电脑/Moodle 上的 css、 body 背景图像顶部

asp.net - 重命名文件以上传到服务器 ASP.NET

java - Spring文件上传进度条?

php - moodle 如何在数据库中保存用户测验响应?

moodle - 自动从一个网站登录到 Moodle 网站?

php - Symfony2 : remember me token is not set

php - 如何从 Facebook ID 获取用户名

jQuery 文件上传在 IE10、零字节文件中陷入挂起状态