php - 存储内容,例如 MediaWiki 中的页面

标签 php mysql mediawiki mediawiki-extensions

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

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

  • 图像 - 当前版本
  • oldimage — 适用于旧版本

页面存储在下表中:

  • 页面 - 当前页面详细信息
  • 修订 - 针对旧页面版本

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

最佳答案

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

现有 maintenance scriptimportImages.php它做了非常类似的事情,所以你可以看一下它的 source看看它是如何做到的,或者您甚至可以直接使用该脚本。

无论如何,如果遍历源代码看起来令人畏惧,重要的事情只包含两个步骤:

  1. 获取LocalFile使用 wfLocalFile() 的对象函数,并且
  2. 调用 publish() upload()方法。

importImages.php 代码还做了一些额外的事情来猜测文件的 MIME 类型并根据该类型设置一些 HTTP header 。我不确定为什么publish()方法不能或不应该自己做到这一点,但既然importImages.php做到了,你可能也应该这样做。 *耸肩*

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

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

相关文章:

php - 概念 - 根据 URL 路径提供动态内容?

php - 我想在存储日期 20 天后自动更新我的 sql 表数据

php - 我的虚拟主机从 PHP 5.2 升级到 5.3,现在我在 MediaWiki 安装中遇到 fatal error

java - 如何修复 Java 中 mediawiki-api 上的 "error code=mustpostparams"

hyperlink - 在哪里可以找到将内部 MediaWiki 链接转换为文章 URL 的代码?

php - Mcrypt 无法处理新的 ubuntu 设置

php - 如何检查数组值是否为空?

php - 选择字段的 optgroup - 同一表中的组和选项字段。我怎样才能做到这一点?

mysql - 对单个表进行 SQL 查询

mysql - 选择所有没有子行的行