WordPress限制上传文件大小及上传文件类型

WordPress限制上传文件大小及上传文件类型 - 第1张

如果网站开放式给用户投稿的话,用户可以上传图片文件等,对于上传图片文件大小是需要管理员限制的,如果不限制会占用我们很多服务器资源。包括我们对于上传文件类型,也需要限制,比如:上传视频等是需要禁止的,只能上传图片。网站管理员是不希望用户上传任意的媒体文件,这时我们可以对用户上传的文件后缀进行判断,从而来限制上传的文件类型。

将以上代码添加主题 functions.php 文件中即可,第3行可修改允许上传的文件后缀。

限制用户上传的媒体文件

function salong_check_upload_mimes( $mimes ) {
global $salong;
$site_exts = array('jpg','png'); //输入允许上传的文件后缀
$site_mimes = array();
foreach ( $site_exts as $ext ) {
foreach ( $mimes as $ext_pattern => $mime ) {
if ( $ext != '' && strpos( $ext_pattern, $ext ) !== false )
$site_mimes[$ext_pattern] = $mime;
}
}
return $site_mimes;
}
if(!is_multisite() && !current_user_can( 'manage_options')){
add_filter( 'upload_mimes', 'salong_check_upload_mimes' );
}
注意:上方代码第13,14行是对多站点和管理员进行排除,多站点的可以在『后台我的站点——管理网络——设置』中的『上传文件类型』设置,不需要可以删除这两行代码。

WordPress上传文件大小限制

限制上传文件的最大体积值,第2行可修改允许上传大小限制。

function max_up_size() {
return 500*1024; //限制500kb
}
add_filter('upload_size_limit', 'max_up_size');

让用户拥有上传文件的权限

默认情况下,有些用户是不允许上传文件的,你可以在主题的 functions.php 添加下面的代码:
允许用户投稿时上传文件

if ( current_user_can('contributor') && !current_user_can('upload_files') )
add_action('admin_init', 'allow_contributor_uploads');
function allow_contributor_uploads() {
$contributor = get_role('contributor');
$contributor->add_cap('upload_files');
}
本文原创,作者:阿龙,其版权均为龙腾求知社所有。
如需转载,请注明出处:https://blog.longtengwx.com/6843.html