使用文件API在Moodle中获取文件的实际URL

时间:2016-04-05 15:05:00

标签: php file moodle

说明: 在moodle中,我们需要创建一个问题(假设有4个选项的多项选择题),其中包含图像(问题文本或答案文本)。我们能够将图像放在问题文本中以及回答文本,并且moodle使用其文件API完美地显示这些图像。

问题: 我的问题是,我正在开发一个用于打印测验的自定义模块,在那里我无法显示这些图像。

详细信息: 当moodle在数据库中保存这些问题和答案时,它会以下列格式保存图像URL(参见img的src属性):

<p><img src="@@PLUGINFILE@@/22-2-16.png" alt="" width="1366" height="768" role="presentation" style="vertical-align:text-bottom; margin: 0 .5em;" class="img-responsive"><br></p>

由于moodle这种格式,我的图像没有被提取。我需要以某种方式解码此src属性以获取保存在数据库中的图像的实际URL。

任何帮助都将深表感谢。

1 个答案:

答案 0 :(得分:0)

如果你追查原始的问题代码,从问题/ questionbase.php开始,你应该找到一个函数question_definition :: format_text()。此功能涵盖了您需要对问题文本进行的所有操作以准备显示。

在内部,它调用question_attempt :: rewrite_pluginfile_urls(),然后调用函数question_rewrite_question_urls()(在lib / questionlib.php中)。最后,这将进入标准的file_rewrite_pluginfile_urls(),以替换文本中的“@@ PLUGINFILE @@”链接。

希望这足以让你开始。