为啥我的wordpress总是能上传所有类型文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我的wordpress总是能上传所有类型文件?相关的知识,希望对你有一定的参考价值。

我总是想限制上传附件的类型,因为这个wordpress是多人使用的、

试了很多插件,都没有限制到,还是能上传所有文件类型,这是为什么呢?

wordpress只能上传jpg,gif,png文件,下面和大家分享一下过程。

注意:下面方法在wordpress-3.2-中文版下测试通过,其他版本可用性未知。

第一种方法:修改wp-includes\functions.php文件

首先备份wp-includes目录下的functions.php文件,然后用Dreamweaver或其他编辑工具打开。
在functions.php文件中搜索“function get_allowed_mime_types”,在搜索结果的下面你会看到类似下面的一大段代码
'jpg|jpeg|jpe' => 'image/jpeg',
'gif' => 'image/gif',
'png' => 'image/png',
'bmp' => 'image/bmp',
'tif|tiff' => 'image/tiff',
'ico' => 'image/x-icon',
'asf|asx|wax|wmv|wmx' => 'video/asf',
'avi' => 'video/avi',
'divx' => 'video/divx',
'flv' => 'video/x-flv',
'mov|qt' => 'video/quicktime',
'mpeg|mpg|mpe' => 'video/mpeg',
'txt|asc|c|cc|h' => 'text/plain',
'csv' => 'text/csv',
'tsv' => 'text/tab-separated-values',
'ics' => 'text/calendar',
'rtx' => 'text/richtext',
'css' => 'text/css',
'htm|html' => 'text/html',... ...

这些代码的一行就定义了一种或多种wordpress允许上传的文件类型,其中“=>”前面的是文件的后缀名,后面的是文件描述。你可以根据需要删除不需要的行,就可以禁止用户上传相应类型的文件。
修改完成后保存文件即可。
第二种方法:修改主题目录下的functions.php文件

打开主题目录下的functions.php文件
输入下面的代码

add_filter(‘upload_mimes’, ‘custom_upload_mimes’);

function custom_upload_mimes ( $existing_mimes=array() )

unset ($existing_mimes['avi']);
unset ($existing_mimes['flv']);

return $existing_mimes;



上面的代码禁止上传avi,flv文件类型,如果你需要禁止其他文件,请参考第一种方法第二步中的代码,寻找“=>”左面的文件类型,然后使用 unset ($existing_mimes['xxx']); 来禁止相应的文件类型。
我只想让用户上传几种图片类型,上面的方法显然太麻烦了,可以狠一点,用下面的代码。

add_filter(‘upload_mimes’, ‘custom_upload_mimes’);

function custom_upload_mimes ( $existing_mimes=array() )

unset ($existing_mimes);//禁止上传任何文件
$existing_mimes['jpg|jpeg|gif|png']=’image/image’;//允许用户上传jpg,gif,png文件
return $existing_mimes;



修改完毕后保存文件即可。
第一种方法比较简单,但是更新后需要重新修改functions.php文件。

第二种方法利用主题中的functions.php文件,系统升级后依然有效,但是如果要禁止多种文件类型的时候需要的代码量比较大。
参考技术A wordpress 后台安装插件那里搜索 Sane Visual Editor
这个可以限制编辑器的元素

------
个人小站欢迎交流 厘米工厂 http://www.limitory.com
参考技术B 不是太好办,需要写个程序才能实现,而且这需求还真是挺复杂的。
要不你就换编辑器,全都不让上传,这样还简单些。
参考技术C 编辑器里面的,还是?追问

编辑器里边的

追答

名字知道不,自己能换掉这个编辑器么?

追问

啊?编辑器还换?不是啊,我说的是

我的wordpress上传到服务器后连接不到wp-admin,然后所有子页面都是指向本地的 这是为啥啊?

哪个环节出问题了呢??
改过了,首页可以打开,子页面和登陆界面打不开

你好!你先是在本地安装后在上传的吧,你需要到数据库里面去修改你的2个域名地址,修改为你空间的三级域名或者你准备使用的顶级域名。 参考技术A 数据库是从本地导过去的?没改访问地址吧? 修改数据库备份的时候要把备份文件里所有老域名改成新的才行

以上是关于为啥我的wordpress总是能上传所有类型文件?的主要内容,如果未能解决你的问题,请参考以下文章

我的wordpress上传到服务器后连接不到wp-admin,然后所有子页面都是指向本地的 这是为啥啊?

我的wordpress里上传图片为啥显示成功,但是无法显示?

带上传的 WordPress 3.0 自定义帖子类型

WordPress媒体库上传不了视频。怎么回事?

WordPress文件上传总是给PHP.ini错误

Wordpress 说,“rest_upload_sideload_error”表示从 Google Apps 脚本上传的图像中的可识别类型。为啥?