我是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
如何解决这个问题
答案 0 :(得分:0)
有关详细信息,请查看Form API for Moodle和Using 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');