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

时间:2015-10-29 08:05:32

标签: moodle

我是moodle的新手。我正在尝试使用输入类型文件元素创建一个新表单,但它没有正确创建。

这是我尝试的代码:

   $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

如何解决这个问题

1 个答案:

答案 0 :(得分:0)

有关详细信息,请查看Form API for MoodleUsing the File API in Moodle forms

我的建议是,如果你想上传.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');