phpcms写器上传图片大小控制解决问题的办法,重要提示,本文讲的是phpcms写器的图片大小压制,而不时phpcms附件上传大小压制。
首先还是给各位讲解下,phpcms附近上传大小压制的办法吧
phpcms默认的上传单个文件大小压制是2M。所以超过2M的附件上传就会上传不了。提示消息如下所示
有那么一点朋友认为这种值太大了,或者太小,那么怎么改写呢
设置方法:
登陆phpcms后台–网址设置–改写–附件设置–允许附件大小,输入你想要的值,如下图
以上方法,各位通过百度都能寻找,下面程序员人的一生网址首席工程师为各位教学的是,phpcms写器的图片上传大小控制解决问题的办法,由于phpcms的写器是用ck二次研究的,里面很多功能是高度定做,又有很多bug(真的有很多bug,未来有时间和各位一起分析)
默认phpcms写器上传图片大小是不压制的,如果网址带有会员系统,那么完蛋了,客户应该随便上传大小,耗费超级多的服务器资源
解决问题的办法如下:
打开网址文件,根目录phpcmsmodulesattachmentattachments.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参数,之后做了一个判断