Mediawiki允许图片上传设置

开放图片上传功能

编辑LocalSettings.php,修改下面这一行为true即可(去掉前边的“#”)。

请不要使用windows自带的记事本改程序!mediawiki使用utf-8格式保存程序,记事本会在文件开始多出三个字节,而这会导致网站运行出错。推荐使用EmEditor进行编辑(另存为utf-8,不要unicode标记)。
(如果服务器上安装了ImageMagick库,可再取消$wgUseImageMagick行的注释。据说ImageMagick比GD库的缩略图效果稍好)

#$wgEnableUploads       = true;

单击左侧的“工具箱”中的“上传文件”即可上传文件。

如果上传png格式的图片,会发现,png类型的文件被系统禁止了。调查includes/DefaultSettings.php的$wgFileExtensions 变量,可以看到png格式是允许的。为什么呢?JPG和GIF都正常上传啊。

原因是MediaWiki会判断上传文件的MIME Type,并禁止某些类型的MIME Type上传。而文件的MIME Type获取是通过php的mime_magic模块进行的,默认情况下这个模块无法正确识别png格式,所以png图像就无法得到正确的MIME Type,于是上传失败。

在phpinfo()中可以看到这样几行文字:
mime_magic support    enabled
Directive    Local Value    Master Value
mime_magic.debug    Off    Off
mime_magic.magicfile    /etc/httpd/conf/magic    /etc/httpd/conf/magic

得知mime_magic的配置文件是 /etc/httpd/conf/magic。打开此文件就可以发现其中并没有PNG格式。

在GIF和JPG文件的附近添加这样一行:

# PNG 1 string PNG image/png

然后重新启动httpd。这样PNG文件就可以正常上传了。

参考:http://tech.idv2.com/2008/07/25/file-upload-in-mediawiki/

引用外部图片(直接在页面中放入图片url链接保存就可以看到图片)

在localsettings.php增加下面一行即可(可能引起安全问题):

$wgAllowExternalImages = true;

通过图片URL进行上传(使用可被公开访问的图片链接进行远程图片上传(这个功能很酷,:) 不过只有操作员才可以用,嘿嘿,安全考虑,这样很有必要呢))

在localsettings.php增加下面一行(可能引起安全问题):

$wgAllowCopyUploads = true;

在就是限制上传文件大小啦

在localsettings.php增加下面一行

$wgMaxUploadSize = 5020;

单位为字节,这个在新(versions 1.9.3 到 1.12)版本中已经不起作用啦。

需要在php环境中进行限制

那么还有个警告大文件上传的警示大小是在DefaultSetting.php中的,默认为150k,如果嫌烦,可以调大些(建议不用调)。

补充:

mediawiki中文件上传的尺寸主要受限于php环境和mediawiki本身环境:

参考:http://www.sogg.name/archives/tag/mediawiki

ok,myblog:http://clin003.com/

2 Replies to “Mediawiki允许图片上传设置”

Comments are closed.