. .
您当前的位置:首页 > 网页制作

phpcms编辑器CKEDIT限制上传文件大小

时间:2020-04-20 00:24:57  来源:  作者:
本人遇到的问题:在PHPCMS后台编辑器CKEDIT中上传图片和超链接附件时,上传文件无法限制,站点管理中限制的附件大小不超作用。
如果是自己一个人管理网站,则无所谓,上传附件时注意就行。
可单位里负责信息发布的人员经常更换,上传的图片五门八门,有PNG的,有GIF的,有JPEG的,一张图片最大有25M,不到一年,3G的网站空间就满了,真是服了。
经百度,发现最有用的资料是:http://www.wfuyu.com/biji/27201.html(文章详细内容附于文后),实际上按文中所言,直接无法上传文件,慢慢看代码,发现是少上三行,现将其方法公布如下:


$site_allowext = $site_setting['upload_allowext'];  
  $attachment = new attachment($module,$catid,$siteid);
  $attachment->set_userid($this->userid);
  $a = $attachment->upload('upload',$site_allowext);
  if($a){
   $filepath = $attachment->uploadedfiles[0]['filepath'];
   $fn = intval($_GET['CKEditorFuncNum']);
   $this->upload_json($a[0],$filepath,$attachment->uploadedfiles[0]['filename']);
   $attachment->mkhtml($fn,$this->upload_url.$filepath,'');
  }

更换为:

$site_allowext = $site_setting['upload_allowext'];
  $attachment = new attachment($module,$catid,$siteid);
  $attachment->set_userid($this->userid);
  $upload_maxsize= $site_setting['upload_maxsize'];
  $upload_maxsize_2= $upload_maxsize *1024;//系统后台文件上传单位是KB,而upload单位为B
  $a = $attachment->upload('upload',$site_allowext,$upload_maxsize_2);
  if($a){
  $filepath = $attachment->uploadedfiles[0]['filepath'];
  $fn = intval($_GET['CKEditorFuncNum']);
  $this->upload_json($a[0],$filepath,$attachment->uploadedfiles[0]['filename']);
  $attachment->mkhtml($fn,$this->upload_url.$filepath,'');
       }
  else{
  echo "上传文件太大。图片仅支持JPEG,大小不超400K。如果是其他文件,请与管理员联系。";
      }



附:
http://www.wfuyu.com/biji/27201.html内容:

phpcms编辑器上传图片大小控制解决办法

 

  phpcms编辑器上传图片大小控制解决办法,重要提示,本文讲的是phpcms编辑器的图片大小限制,而不时phpcms附件上传大小限制。

  首先还是给大家介绍下,phpcms附近上传大小限制的办法吧

  phpcms默认的上传单个文件大小限制是2M。所以超过2M的附件上传就会上传不了。提示信息如下所示

  phpcms编辑器上传图片大小控制解决办法

  有点同学觉得这个值太大了,或者太小,那么怎么修改呢

  设置方法:

  登陆phpcms后台–站点设置–修改–附件设置–允许附件大小,输入你想要的值,如下图

  phpcms编辑器上传图片大小控制解决办法

  以上方法,大家通过百度都能找到,下面程序员人生网站首席工程师为大家讲解的是,phpcms编辑器的图片上传大小控制解决办法,由于phpcms的编辑器是用ck二次开发的,里面很多功能是高度定制,又有很多bug(真的有很多bug,以后有时间和大家一起分析)

  默认phpcms编辑器上传图片大小是不限制的,如果网站带有会员系统,那就完蛋了,用户可以随意上传大小,耗费大量服务器资源

  phpcms编辑器上传图片大小控制解决办法

  解决办法如下:

  打开网站文件,根目录\phpcms\modules\attachment\attachments.php,大概在38行

  将以下代码

 

  $site_allowext = $site_setting['upload_allowext'];$attachment = new attachment($module,$catid,$siteid);$attachment->set_userid($this->userid);$a = $attachment->upload('upload',$site_allowext);if($a){$filepath = $attachment->uploadedfiles[0]['filepath'];$fn = intval($_GET['CKEditorFuncNum']);$this->upload_json($a[0],$filepath,$attachment->uploadedfiles[0]['filename']);$attachment->mkhtml($fn,$this->upload_url.$filepath,'');}

 

  换成我这个代码

 

   /*wlsh 20161212 新增编辑器图片上传大小控制*/ $upload_maxsize= $site_setting['upload_maxsize']; $upload_maxsize_2= $upload_maxsize *1024;//系统后台文件上传单位是KB,而upload单位为B $a = $attachment->upload('upload',$site_allowext,$upload_maxsize_2); if($a){ $filepath = $attachment->uploadedfiles[0]['filepath']; $fn = intval($_GET['CKEditorFuncNum']); $this->upload_json($a[0],$filepath,$attachment->uploadedfiles[0]['filename']); $attachment->mkhtml($fn,$this->upload_url.$filepath,''); }else{ echo ""; }

 

  这样替换之后,刚刚第一步设计的大小,在这里也可以用了,代码解释下,只要就是在upload里面加了一个upload_maxsize参数,然后做了一个判断


 
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门