phpcms編輯器上傳圖片大小控制解決辦法,重要提示,本文講的是phpcms編輯器的圖片大小限制,而不時phpcms附件上傳大小限制。
首先還是給大家介紹下,phpcms附近上傳大小限制的辦法吧
phpcms默認的上傳單個文件大小限制是2M。所以超過2M的附件上傳就會上傳不了。提示信息如下所示
有點同學覺得這個值太大了,或者太小,那么怎么修改呢
設置方法:
登陸phpcms后臺–站點設置–修改–附件設置–允許附件大小,輸入你想要的值,如下圖
以上方法,大家通過百度都能找到,下面程序員人生網站首席工程師為大家講解的是,phpcms編輯器的圖片上傳大小控制解決辦法,由于phpcms的編輯器是用ck二次開發的,里面很多功能是高度定制,又有很多bug(真的有很多bug,以后有時間和大家一起分析)
默認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參數,然后做了一個判斷