最近我遇到了这个问题,汇总了以下解决方法,但是下面这些对我的站点都没用:
一、通过ftp上传工具上传文件
这个不用多说,任你wordpress网站前端什么限制,我直接通过ftp上传工具进行上传,几乎不受任何文件类型的限制,当然可能有些服务器对exe,pif,cmd,bat等风险比较大的文件类型有一定的限制,这就另说了
二、修改网站源代码
通过查找资料了解到,出现这个问题的原因是由于WordPress中做了文件上传格式的限制,这种限制可以在WordPress中的wp-include/functions.php的get_allowed_mime_types函数中找到,因此我们可以通过定位到wp-include/functions.php中的get_allowed_mime_types函数找到如下图所示的位置。
以上传入 apply_filters函数中的Array,即允许上传的类型列表,我们可以根据以上的格式手动添加想要支持上传的文件类型。例如这里我们想要上传txt文本格式文件,只需要添加一行格式说明就可以了:
'txt' =>'text/txt',
当然你也可以一劳永逸地解决问题,定位到站点根目录下的wp-config.php文件,在其中加入一句:
define(‘ALLOW_UNFILTERED_UPLOADS’, true); |
这条语句直接去除上传的文件类型限制。
三、网站后台修改
对于这种情况,一般是wordpress站点开启了多站点的功能,在wordpress后台中找到 我的站点-管理网络-设置,点击进入,你会发现在上传设置的位置有一个上传文件类型的配置地方。
只需要根据格式把要上传的文件格式填写进去就可以了,然后保存更改就可以了,这里要注意每个文件类型间有空格隔开。
对于第三种方法需要注意一点,通过2方法进行修改后你会发现文件类型该不支持上传还是不支持上传,因为你开启了多站点功能,不同的站点可能在创建时赋予的权限不同,而对于直接修改源代码更改文件上传权限可能只是针对站点的root管理员身份了。所以如果你发现通过第二种方法修改后没作用的话就要考虑自己的站点是不是开启了多站点功能了。
Comments NOTHING