长沙网站开发_TP后台编辑器图片与附件大小分别限制方法

发布日期:2017-11-10 09:10

ThinkPHP作为开源的轻量级国产PHP开发框架,在同行业中得到了不少迷弟的拥护。尤其是V5完整版的正式发布,框架重构、引入PHP新特性及支持composer,秒变高帅富与国际接轨。但长沙网站开发的商业项目中使用较多的还是TP3.2版本,当然笔者也在一边研究TP5、git及composerr的使用,紧跟时代的步伐。

回到正题,不论使用何种框架,后台中总是离不开编辑器和文件上传插件,笔者后台使用的是kindeditor。最近的项目中有用户非常细心,各个细节上的要求都很到位,让我们的实习程序员非常不开心。其中有一条是要求对编辑器中图片与附件的上传大小区分控制(其实更变态的是要求对banner图和其他封面图大小区分控制,程序里面使用的是同一个文件上传插件,这让我有点纠结,还好最后被我说服统一控制大小)。

Kindeditor最大的优点是支持多图上传,多图上传的数量和大小在JS里面可以控制,所以这个设置相对比较简单。但是单图和附件上传都是调用EditorForAdmin的插件的UploadController.class.php控制器。

控制器中upload方法会先读取EDITOR_UPLOAD配置参数,再调用文件上传类进行上传。

编辑器配置参数如下:

而我们想要的文件大小限制功能刚好就在配置文件中,所以只需要让单图与附件上传时调用不同的配置文件,加之限制便可以达到效果。

我们把默认的参数作为附件上传的配置参数,然后创建一个用于图片上传的配置参数数组如下:

然后在upload方法中通过判断后缀(附件与单图参数中允许上传文件类型进行区分限制)来读取不同的配置参数,这样就可以分别控制上传文件的大小了。

PS:笔者目前需要开发的项目已经基本完成,后续会不定期分享开发上的一些心得,希望各位能继续关注长沙蒲公英网络,谢谢!

下期预告:TP后台文件上传插件dmuploader的使用(替换之前插件uploadify--需要flash支持)。

 

以上信息由长沙网站建设--长沙蒲公英网络收集与整理,禁止用于任何商业行为