在MediaWiki中存储类似页面的内容

时间:2013-09-16 07:30:36

标签: php mysql mediawiki mediawiki-extensions

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

现在我需要将特定页面中的图像细节组存储在MediaWikidatabase中,以获取该图像组的历史记录,修订版等,然后我找到了上传的图像存储在下表中:

  • 图片 - 当前版本
  • oldimage - 旧版本

和页面存储在下表中:

  • 页面 - 了解当前页面详情
  • 修订版 - 适用于旧版本的版本

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

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您的文件已经被某些不属于MediaWiki的脚本上传到服务器,并且您想要将其导入MediaWiki。

有一个名为maintenance script的现有importImages.php做了类似的事情,所以你可以看看source看看它是怎么做的,或者你甚至可以做到直接使用脚本。

无论如何,如果涉及源代码的情况看起来令人生畏,重要的事情只包括两个步骤:

  1. 使用LocalFile函数和
  2. 获取wfLocalFile()个对象
  3. 在其上调用 publish() upload()方法。
  4. importImages.php代码还做了一些额外的工作来猜测文件的MIME类型,并根据它设置一些HTTP头。我不确定为什么publish()方法本身不能或不应该这样做,但是因为importImages.php会这样做,所以你可能也应该这样做。 *耸肩*

    编辑:您可能不想调用publish(),而是调用upload(),它会处理MIME类型嗅探和其他一些细节,比如创建文件说明页。