我添加了自定义列来存储公司徽标。我使用了像moodle这样的文件api:
$mform->addElement('filepicker', 'certificatelogo', 'Company Logo', null,
array('maxbytes' => $maxbytes, 'accepted_types' => '*'));
$mform->setDefault('certificatelogo', '0');
$mform->addHelpButton('certificatelogo', 'certificatelogo', 'certificate');
提交表单后,itemid将存储在自定义列中。说" 648557354"
现在我需要获取图像以在证书上打印徽标。如何从itemid获取图像路径?我是否需要存储任何其他信息才能检索图像?
答案 0 :(得分:3)
返回的itemid是在显示表单时存储文件的草稿区域的临时ID。在提交表单时,您需要将文件复制到其“真实”位置,否则文件将在几天后自动删除(并且只有最初上传该文件的用户才能访问该文件。)
如果您打算保留文件,我总是建议使用filemanager元素(filepicker元素用于您要处理和丢弃的文件,例如上传CSV文件数据以解析并添加到数据库)。
如何使用它的详细信息如下: https://docs.moodle.org/dev/Using_the_File_API_in_Moodle_forms#filemanager
但基本步骤是:
所有这些都有一个合理的例子:https://github.com/AndyNormore/filemanager