wordpress上传类型限制

对于wordpress上传类型的限制,这个问题已经纠结我有这么久了,博客也是好久没有更新过了,最初遇到的这个问题是由于,晒音乐在给用户投稿者上传权限的时候总有一些人不自觉,乱穿东西上来,我的小小空间是抵挡不住。先不说这些,最初音乐站是用一个插件来控制投稿者的上传权限,也就是最近突然又想搞那个站了,所以在做改版,同时也实现了,非插件投稿者上传的功能,稍后另外一篇文章会写出来。

入正题,对于控制上传类型,这个大部分博主都应该用不到这个,因为wordpress是基于博客开发的,所以做其他站点是有一点点不科学,且以已经有部分博主在感概wordpress不能承受住大量用户访问,只适合做小型站。

其实方法也是从百度上面找到的,方法两种:第1种修改源程序,第2种在主题上加限制。

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

在functions.php文件中搜索“function get_allowed_mime_types”,在搜索结果的下面你会看到类似下面的一大段代码(PS:3.5.1不是这样的,在3.5.1搜索下面的其中任意一个关键字即可,大概在1883行。)

'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文件(这种方法比较狠)

只让用户上传图片类型的文件。

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;

}

保存即可。