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

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


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


和页面存储在下表中:


页面-有关当前页面的详细信息
修订—用于旧页面版本


谁能解释我如何将内容存储到MediaWiki数据库中以及如何从具有所有MediaWiki功能的数据库中手动获取信息?

最佳答案

如果我对您的理解正确,则说明您有一个文件已通过MediaWiki以外的脚本上载到服务器,并且想要将其导入MediaWiki。

现有一个名为maintenance scriptimportImages.php,它的功能非常类似,因此您可以查看其source来了解它的工作方式,或者甚至可以直接使用该脚本。

无论如何,万一涉足源代码似乎令人生畏,重要的内容仅包括两个步骤:


使用LocalFile函数获取wfLocalFile()对象,并且
在其上调用publish() upload()方法。


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

编辑:您可能不希望调用publish(),而是要调用upload(),它可以处理MIME类型的嗅探内容以及许多其他详细信息,例如创建文件描述页面。

关于php - 在MediaWiki中存储页面之类的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18822542/

10-12 15:16