所属栏目:发布日期:2017-11-10 09:27浏览量:2688作者:admin
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支持)。