如何在moodle中创建具有输入类型文件的表单

如何在moodle中创建具有输入类型文件的表单,moodle,Moodle,我是新来穆德尔的。我正在尝试使用输入类型file元素创建一个新表单,但它没有正确创建 以下是我的代码: $mform->addElement('file','csvfile', get_string('File')); $mform->setDefault('Upload a CSV File', get_string('defaultuploadfile')); $mform->addRule('Upload a CSV File', get_stri

我是新来穆德尔的。我正在尝试使用输入类型file元素创建一个新表单,但它没有正确创建

以下是我的代码:

   $mform->addElement('file','csvfile', get_string('File'));

    $mform->setDefault('Upload a CSV File', get_string('defaultuploadfile'));
    $mform->addRule('Upload a CSV File', get_string('missingfile'), 'required', null);
    $mform->setType('file', PARAM_MULTILANG);
但输出如下所示:

[[File]] (Max size: 750MB)   browse nofile selected

如何解决此问题

有关详细信息,请查看和

我的建议是,如果你想上传
.csv
,你应该写这样的东西:

$mform->addElement('filepicker', 'userfile', get_string('file'), null,
                           array('maxbytes' => $maxbytes, 'accepted_types' => '*'));
$choices = csv_import_reader::get_delimiter_list();
            $mform->addElement('select', 'delimiter_name', get_string('csvdelimiter', 'newmodule'), $choices);
            if (array_key_exists('cfg', $choices)) {
                $mform->setDefault('delimiter_name', 'cfg');
            } else if (get_string('listsep', 'langconfig') == ';') {
                $mform->setDefault('delimiter_name', 'semicolon');
            } else {
                $mform->setDefault('delimiter_name', 'comma');
            }

            $choices = core_text::get_encodings();
            $mform->addElement('select', 'encoding', get_string('encoding', 'newmodule'), $choices);
            $mform->setDefault('encoding', 'UTF-8');

如果我们使用filepicker意味着如何将验证设置到我的文件中,您能解释一下您的示例吗请您解释一下如何在Moodle中创建自定义请参考此内容并检查此@user3663