如何对wordpress上传限制文件的大小进行限制? 比方说默认状况下WordPress的上传文件限

视频: 如何修改wordpress博客上传文件大小限制
分享给好友
如何修改wordpress博客上传文件大小限制
下载至电脑
用或微信扫一扫,在手机上继续观看
分享给站外好友
把视频贴到Blog或BBS
flash地址:
<input type="text" class="form_input form_input_s" id="link3" value=''>
<input id="link4" type="text" class="form_input form_input_s" value=''>
如何修改在IX主机上安装wordpress博客上传文件大小限制 联系QQ
万万表情系列(VIP会员专享)
节目制作经营许可证京字670号
京公网安备号
药品服务许可证(京)-经营-客服QQ:8814026
本站模板源码最低300元起
一口价! 不砍价哦亲!
承接织梦 帝国 phpcms仿站业务 价格最低1000起!
wordpress二次开发您的位置: &>&&>&
WordPress 限制不同用户角色可上传的文件类型及大小
开放注册的WordPress站点,一般都会根据不同等级的用户角色来赋予不同的权限。文件上传功能就是一个比较常用的功能,那么,如何限制不同用户角色可上传的文件类型及大小呢?下面倡萌就来说说这个问题。让用户拥有上传文件的权限默认情况下,有些用户是不允许上传文件的,你可以在主题的 functions.php 添加下面的代码://允许用户投稿时上传文件if &#40; current_user_can&#40;'contributor'&#41; && !current_user_can&#40;'upload_files'&#41; &#41;
add_action&#40;'admin_init', 'allow_contributor_uploads'&#41;;&
function allow_contributor_uploads&#40;&#41; &#123;
$contributor = get_role&#40;'contributor'&#41;;
$contributor-&add_cap&#40;'upload_files'&#41;;&#125;上面的代码就是给 'contributor' 这个用户角色添加了 'upload_files' (上传文件)的权限。限制用户上传文件的类型首先,大家可以先了解一下 WordPress 默认允许上传的文件类型,打开WordPress的 /wp-includes/functions.php 文件,然后搜索 function wp_get_mime_types 定位到那里,你就会看到详细的文件类型:function wp_get_mime_types&#40;&#41; &#123; // Accepted MIME types are set here as PCRE unless provided. return apply_filters&#40; 'mime_types', array&#40; // Image formats 'jpg|jpeg|jpe' =& 'image/jpeg', 'gif' =& 'image/gif', 'png' =& 'image/png', 'bmp' =& 'image/bmp', 'tif|tiff' =& 'image/tiff', 'ico' =& 'image/x-icon', // Video formats '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', 'mp4|m4v' =& 'video/mp4', 'ogv' =& 'video/ogg', 'mkv' =& 'video/x-matroska', // Text formats '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', // Audio formats 'mp3|m4a|m4b' =& 'audio/mpeg', 'ra|ram' =& 'audio/x-realaudio', 'wav' =& 'audio/wav', 'ogg|oga' =& 'audio/ogg', 'mid|midi' =& 'audio/midi', 'wma' =& 'audio/wma', 'mka' =& 'audio/x-matroska', // Misc application formats 'rtf' =& 'application/rtf', 'js' =& 'application/javascript', 'pdf' =& 'application/pdf', 'swf' =& 'application/x-shockwave-flash', 'class' =& 'application/java', 'tar' =& 'application/x-tar', 'zip' =& 'application/zip', 'gz|gzip' =& 'application/x-gzip', 'rar' =& 'application/rar', '7z' =& 'application/x-7z-compressed', 'exe' =& 'application/x-msdownload', // MS Office formats 'doc' =& 'application/msword', 'pot|pps|ppt' =& 'application/vnd.ms-powerpoint', 'wri' =& 'application/vnd.ms-write', 'xla|xls|xlt|xlw' =& 'application/vnd.ms-excel', 'mdb' =& 'application/vnd.ms-access', 'mpp' =& 'application/vnd.ms-project', 'docx' =& 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'docm' =& 'application/vnd.ms-word.document.macroEnabled.12', 'dotx' =& 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'dotm' =& 'application/vnd.ms-word.template.macroEnabled.12', 'xlsx' =& 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlsm' =& 'application/vnd.ms-excel.sheet.macroEnabled.12', 'xlsb' =& 'application/vnd.ms-excel.sheet.binary.macroEnabled.12', 'xltx' =& 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'xltm' =& 'application/vnd.ms-excel.template.macroEnabled.12', 'xlam' =& 'application/vnd.ms-excel.addin.macroEnabled.12', 'pptx' =& 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'pptm' =& 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'ppsx' =& 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'ppsm' =& 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12', 'potx' =& 'application/vnd.openxmlformats-officedocument.presentationml.template', 'potm' =& 'application/vnd.ms-powerpoint.template.macroEnabled.12', 'ppam' =& 'application/vnd.ms-powerpoint.addin.macroEnabled.12', 'sldx' =& 'application/vnd.openxmlformats-officedocument.presentationml.slide', 'sldm' =& 'application/vnd.ms-powerpoint.slide.macroEnabled.12', 'onetoc|onetoc2|onetmp|onepkg' =& 'application/onenote', // OpenOffice formats 'odt' =& 'application/vnd.oasis.opendocument.text', 'odp' =& 'application/vnd.oasis.opendocument.presentation', 'ods' =& 'application/vnd.oasis.opendocument.spreadsheet', 'odg' =& 'application/vnd.oasis.opendocument.graphics', 'odc' =& 'application/vnd.oasis.opendocument.chart', 'odb' =& 'application/vnd.oasis.opendocument.database', 'odf' =& 'application/vnd.oasis.opendocument.formula', // WordPerfect formats 'wp|wpd' =& 'application/wordperfect', &#41; &#41;;&#125;=& 的前面为格式,后面为格式描述。如果你要禁止上传其中的某些类型,可以参考下面的例子:将下面的代码添加到主题的 functions.php 文件:112//禁止上传avi和mp4格式的文件&add_filter&#40;'upload_mimes', 'custom_upload_mimes'&#41;;&function custom_upload_mimes &#40; $existing_mimes=array&#40;&#41; &#41; &#123;&unset &#40;$existing_mimes&#91;'avi'&#93;&#41;;unset &#40;$existing_mimes&#91;'mp4'&#93;&#41;;&return $existing_mimes;&&#125;如果你还要禁止更多,可以按照 unset ($existing_mimes['格式']);&#160; 样例添加即可。如果你仅仅只需要允许用户上传几种类型而已,还可以通过下面的更简洁的方法,代码添加到主题的 functions.php 文件:112//只允许上传图片文件add_filter&#40;'upload_mimes', 'custom_upload_mimes'&#41;;&function custom_upload_mimes &#40; $existing_mimes=array&#40;&#41; &#41; &#123;&unset &#40;$existing_mimes&#41;;//禁止上传任何文件&$existing_mimes&#91;'jpg|jpeg|gif|png'&#93;='image/image';//允许用户上传jpg,gif,png文件&return $existing_mimes;&&#125;如果你还要允许上传其他格式,重复使用 $existing_mimes['格式']='描述';&#160; 即可。限制用户上传的文件大小同样在主题的 functions.php 文件中,添加下面的代码://限制上传文件的最大体积function max_up_size&#40;&#41; &#123;&return 500*1024; // 500 kb&&#125;&add_filter&#40;'upload_size_limit', 'max_up_size'&#41;;上面的例子是限制所有用户上传的文件的最大体积为 500 kb (1M =)。注意:主机空间和WordPress本身一般设置了允许上传的文件的最大体积,所以在这里设置需要考虑到这点。限制不同用户角色可上传的文件类型及大小其实上面已经给出了限制类型和大小的方法,要根据不同用户角色来限制,只需要添加角色判断代码即可。倡萌举个综合的例子:35455//不同用户上传的类型function custom_upload_mimes &#40; $existing_mimes=array&#40;&#41; &#41; &#123;& unset &#40;$existing_mimes&#41;;//禁止上传任何文件& if&#40; current_user_can&#40; 'publish_posts' &#41; && !current_user_can&#40; 'publish_pages' &#41; &#41; &#123;&
//允许作者(Author)上传的类型
$existing_mimes&#91;'jpg|jpeg|gif|png'&#93;='image/image';//允许用户上传jpg,gif,png文件
$existing_mimes&#91;'zip'&#93;='application/zip'; //允许用户上传zip压缩包
$existing_mimes&#91;'pdf'&#93;='application/pdf'; //允许用户上传pdf文件& &#125;elseif&#40; current_user_can&#40; 'edit_posts' &#41; && !current_user_can&#40; 'publish_posts' &#41; &#41; &#123;&
//允许投稿者(Contributor)上传的类型
$existing_mimes&#91;'jpg|jpeg|gif|png'&#93;='image/image';
$existing_mimes&#91;'pdf'&#93;='application/pdf'; & &#125;else&#123;&
//其他用户角色上传的类型
$existing_mimes&#91;'jpg|jpeg|gif|png'&#93;='image/image';& &#125;& return $existing_mimes;&&#125;&//不同用户上传的大小function max_up_size&#40;&#41; &#123;& if&#40; current_user_can&#40; 'publish_posts' &#41; && !current_user_can&#40; 'publish_pages' &#41; &#41; &#123;&
return 2048*1024; // 允许作者(Author)上传 2M& &#125;elseif&#40; current_user_can&#40; 'edit_posts' &#41; && !current_user_can&#40; 'publish_posts' &#41; &#41; &#123;&
return 1024*1024; // 允许投稿者(Contributor)上传 1M& &#125;else&#123;&
return 500*1024; // 其他用户角色上传 500 kb& &#125;&&#125;&//只对非管理员执行这两个函数(即:对管理员不生效)if&#40; !current_user_can&#40; 'manage_options' &#41; &#41; &#123;& add_filter&#40;'upload_mimes', 'custom_upload_mimes'&#41;; add_filter&#40;'upload_size_limit', 'max_up_size'&#41;;&&#125;大家只要灵活使用 if 语句判断不同的角色赋予不同的权限即可,关于用户角色的判断,请阅读《WordPress如何判断登录用户的角色》弄完了,收工!
织梦CMS模板
帝国CMS模板
赞助商链接自始至终,以提供稳定、高性能的美国、香港免备案php虚拟主机产品为己任,以用户极高满意为生存价值,以产品的可靠性为生命线,以网络零中断为终身奋斗目标
老生常谈,是一款非常适合上运行的程序,但是还是有非常多的问题引起我们处女座站长朋友不是很爽,所以需要做各种的修改,这个事情就交给我们无忧主机屌丝小编去慢慢的发现。
今天无忧主机小编在接待售后的时候,窗口闪亮了一下,一看非常熟悉的站长朋友提出了问题,说是怎么限制上传图片的尺寸,这样的好处就是,图片打开的样子几乎都是一样的,而不是这个大这个小的问题,其实wordpress可以是使用插件来实现的,但是总是安装插件会导致对服务器的压力,最好的方法就是代码的实现,所以废话不用多说,无忧主机小编也是看了很多的资料才得出以下的结论的:代码如下:
add_action( &#039;admin_init&#039;, &#039;block_authors_from_uploading_small_images&#039; );
function block_authors_from_uploading_small_images(){
//除管理员以外,其他用户都限制
if( !current_user_can( &#039;manage_options&#039;) )
add_filter( &#039;wp_handle_upload_prefilter&#039;, &#039;block_small_images_upload&#039; );
function block_small_images_upload( $file ){
// 检测文件的类型是否是图片
$mimes = array( &#039;image/jpeg&#039;, &#039;image/png&#039;, &#039;image/gif&#039; );
// 如果不是图片,直接返回文件
if( !in_array( $file[&#039;type&#039;], $mimes ) )
$img = getimagesize( $file[&#039;tmp_name&#039;] );
// 设置最小宽度和高度
$minimum = array( &#039;width&#039; =& 640, &#039;height&#039; =& 480 );
if ( $img[0] & $minimum[&#039;width&#039;] )
$file[&#039;error&#039;] =
&#039;图片太小了,最小宽度是 &#039;
. $minimum[&#039;width&#039;]
. &#039;px,当前上传的图片宽度是 &#039;
. $img[0] . &#039;px&#039;;
elseif ( $img[1] & $minimum[&#039;height&#039;] )
$file[&#039;error&#039;] =
&#039;图片太小了,最小高度是 &#039;
. $minimum[&#039;height&#039;]
. &#039;px,当前上传的图片高度是 &#039;
. $img[1] . &#039;px&#039;;
将以上代码插入主题目录内文件名:functions.php即可。
无忧主机相关文章推荐阅读:
本文地址:/wordpress/19780.html
喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
无忧主机资质:(十年旗舰品牌)
相关技术帮助文档
技术帮助文档分类用心创造滤镜
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
卡书,1991年夏天出生。我的个人网站:https://kashu.org
兴趣爱好:
轻音乐、Ubuntu、英语、阅读、晨跑、Linux、仰卧起坐、上网、计算机网络、国际象棋、网站架设、bash shell、旅游、新闻、乒乓球、烹饪美食
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
然后在浏览器中访问这个文件,例如:这一步的目的是:查看本服务器上的php.ini所在位置 + 查看默认附件大小的信息修改php.ini,但是前提是一定要修改正确位置的php.ini,不然纵使php.ini改了千万遍也不会有效果的因为如果不是购买空间而是自己搭建的话,可能由于存在多个php.ini而没有修改正确位置的php.iniConfiguration File (php.ini) Path/usr/local/php_fcgi/libLoaded Configuration File/usr/local/php_fcgi/lib/php.ini我们查看到了php.ini的位置是&/usr/local/php_fcgi/lib/php.ini使用vim编辑该文件搜索:memory_limit、post_max_size、upload_max_filesize、max_execution_time、max_input_time一般默认的设置值为:memory_limit=128M    &&//相当于单个脚本可调用内存大小post_max_size=8M     //上传文件大小上限upload_max_filesize=2M  //默认上传文件大小,这个就是2M的限制!max_execution_time=30  //最大执行时间,页面等待时间max_input_time=60    //最大输入时间?具体意义不明确,就是上传时间相关&然后将其改为自己需要的值,例如:memory_limit=128Mpost_max_size=12Mupload_max_filesize=10M  //这样就改为可以传10M以下的文件了max_execution_time=60max_input_time=60重启nginx服务使得设置才能生效![root@os wwwroot]# nginx-restart
阅读(4210)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'修改WordPress中上传附件2M大小限制',
blogAbstract:'在服务器上架设好WordPress后,使用过程中发现,上传附件大小有2M的限制服务器版本是:LinuxWordPress架设:nginx+PHP+MySQL1、首先在网站根目录下建一个info.php文件',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:7,
publishTime:2,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:2,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'卡书,1991年夏天出生。我的个人网站:https://kashu.org
兴趣爱好:\n轻音乐、Ubuntu、英语、阅读、晨跑、Linux、仰卧起坐、上网、计算机网络、国际象棋、网站架设、bash shell、旅游、新闻、乒乓球、烹饪美食',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}关注国内外最新web前端开发技术:HTML5、CSS3、jQuery插件、WordPress插件和WordPress主题,关注用户体验优化UEO及周边SEO、SEM,提供最新网站前端开发资讯。
增加WordPress文件上传大小限制
增加WordPress文件上传大小限制
摘要:本文只限Apache配置主机的使用方法,增加WordPress文件上传大小限制:通过配置php.ini的upload_max_filesize 和 post_max_size,重启Apache;通过修改.htaccess文件。
最近在用WordPress做一个视频B2B网站,所需要的上传的文件已经远远超过了32MB的限制(32MB的视频能干什么啊)。
网上分享的方法
一如既往的百度,基本大同小异,最后参考了WordPress啦!的:
一般来说你使用的主机会限制你上传文件的大小,在WordPress的媒体文件上传可以看到,大多数都是2MB(我的是32MB)。如果是图片的话可能会还够用,但是如果是音频和视频文件就不一定够用了。
在functions.php中添加如下代码,这样上传限制就是64M
@ini_set( 'upload_max_size' , '64M' );
@ini_set( 'post_max_size', '64M');
@ini_set( 'max_execution_time', '300' );
新建一个php.ini文件,在你的主机空间的根目录新建一个php.ini文件,里面使用如下代码。
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
使用.htaccess文件,在这个文件中添加如下代码。
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
子任采用方法
我现在是使用的WordPress3.4+版本,上传文件大小已经是主机配置决定的了,主机本身配置upload_max_filesize 和 post_max_size 都是32M,想要得到效果:
WordPress文件上传大小300MB
上述方法一:无效!
上述方法二:有效,重启Apache
上述方法三:有效,无需重启Apache
总结:上传大小主要用服务器配置决定的,例如后两种方法;而第一种方法不过在服务器配置的基础上来进一步用程序来限制罢了。
子任出于综合考虑,减少服务器不必要的负担,最后采取了第二种方法:
upload_max_filesize = 300M
post_max_size = 300M
max_execution_time = 300
你可以继续阅读相关【 , 】的文章。
你可能感兴趣的文章
版权所有 &
ziren.org 子任 关注国内外最新技术:、,提供最新资讯、网站建设知识和技巧。

我要回帖

更多关于 wordpress 上传文件 的文章

 

随机推荐