全部博文(346)
分类: 系统运维
2009-06-02 09:32:36
开放图片上传功能
编辑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文件就可以正常上传了。
参考:
引用外部图片(直接在页面中放入图片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本身环境:
- 受php环境pnp.ini的限制:涉及、和。按照php文档说明,这三者应当是> >
- 受mediawiki中限制:涉及
参考:
chinaunix网友2009-09-17 15:58:12
推荐视频会议、视频直播、视频面试、视频招聘、视频监控等视频系统: http://www.eyesom.com/products/var.htm
chinaunix网友2009-09-17 15:58:08
推荐视频会议、视频直播、视频面试、视频招聘、视频监控等视频系统: http://www.eyesom.com/products/var.htm
chinaunix网友2009-09-17 15:58:00
推荐视频会议、视频直播、视频面试、视频招聘、视频监控等视频系统: http://www.eyesom.com/products/var.htm