0

我已经开始使用 MediaWiki 开发一个网站。我设计了一个上传页面(我没有使用MediaWiki的默认上传页面Special:upload)。我手动创建了它,并执行了我的操作,例如在单独的表(不是 MediaWiki 的现有表)中上传图像和存储详细信息。

现在我需要将图像组的详细信息存储在特定页面中,MediaWikidatabase以获取该图像组的历史记录、修订等,我发现上传的图像存储在下表中:

  • 图片——当前版本
  • oldimage — 用于旧版本

和页面存储在下表中:

  • page — 获取当前页面详细信息
  • 修订版——用于旧页面版本

谁能解释一下如何将内容存储到 MediaWiki 数据库中并手动从数据库中获取所有 MediaWiki 功能?

4

1 回答 1

0

如果我理解正确,您有一个文件已通过不属于 MediaWiki 的某个脚本上传到服务器,并且您希望将其导入 MediaWiki。

有一个名为importImages.php的现有维护脚本,它的功能与此非常相似,因此您可以查看它的源代码以了解它是如何实现的,或者您甚至可以直接使用该脚本。

无论如何,如果涉水阅读源代码似乎令人生畏,重要的东西只包括两个步骤:

  1. 使用wfLocalFile()函数获取LocalFile对象,以及
  2. 在其上调用publish() upload()方法。

importImages.php 代码还做了一些额外的工作来猜测文件的 MIME 类型并基于此设置一些 HTTP 标头。我不确定为什么 publish() 方法不能或不应该自己这样做,但由于 importImages.php 做到了,你可能也应该这样做。 *耸耸肩*

编辑:您可能不想调用 publish(),而是调用upload(),它负责 MIME 类型的嗅探内容和许多其他细节,例如创建文件描述页面。

于 2013-09-18T20:16:17.967 回答