
ThinkPHP3.2.3+Kindeditor图片上传类
适合ThinkPHP3.2.3的Kindeditor图片上传类,支持批量上传、图像大小限制、是否缩放、是否生成缩略图(单张)、指定保存位置、缩放方式指定、是否添加水印等功能。
功能说明
用的是Kindeditor的上传功能,结合ThinkPHP处理成类文件,支持文件、视频、图像上传,主要功能亮点在于图像的上传,其他未做处理。
支持批量上传:这是Kindeditor本身的功能,只是把它集成到ThinkPHP中而已。
支持图像大小限定:也是Kindeditor本身的功能,只是通过参数进行了声明。默认未限定。
是否缩放:真多所有图片,如果超出指定大小则缩放到该大小,未超出不缩放。缩放后的尺寸根据缩放方式有所不同。具体参考下面相关说明。默认不缩放。
是否生成缩略图:如果指定为true则根据配置参数生成对应的缩略图,生成方式与缩放方式一致。默认不生成。本案只能生成一张缩略图,如果需要同时生成多种也是可以处理的,你可以自行研究或联系我。
指定保存位置:默认不指定,这个根据需要看是否开启,举例说明:所有文件的上传目录为upfiles,如果指定为banner则上传到banner文件夹,如果指定为case则上传到case文件夹,如果不指定则根据当前日期创建文件夹。
指定缩放方式:ThinkPHP图像处理类本身功能,只是与Kindeditor结合了起来,1 等比例缩放类型 2 缩放后填充类型 3 居中裁剪类型 4 左上角裁剪类型 5 右下角裁剪类型 6 固定尺寸缩放类型。默认为1 等比缩放。
是否添加水印:默认否。如果指定为是,只针对大图添加水印,缩略图是不会添加水印的,另外,还需要配置水印文件路径。
使用方法
1、将KeditorController.class.php和KjsonController.class.php拷贝到后台controller文件夹下,修改命名空间。
2、配置相关上传参数,我是用一个单独的表来存放,KeditorContro中只需要调取,主要需要配置的内容如下:
Array ( [upPath] => upfiles/ //上传目录 [maxSize] => 20971520 //最大文件大小 单位B [fileType] => exe,zip,rar //文件格式 [videoType] => swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb,mp4 //视频类型 [imageType] => gif,jpg,jpeg,png,bmp //图像类型 [swfType] => swf,flv //flash类型 [maxWidth] => 1280 //图像最大宽度 [maxHeight] => 0 //图像最大高度 [thumbWidth] => 400 //缩略图宽度 [thumbHeight] => 300 //缩略图高度 [thumbMethod] => 1 //缩放方式 [waterSW] => 0 //是否添加水印 [waterWidth] => 500 //添加水印的图像的最小宽度,图像宽度超出该值才添加水印,否则不添加 [waterHeight] => 300 //添加水印的图片的最小高度 [waterPic] => /upfiles/site/20191220095655_49781.png //水印文件路径 [waterPos] => 9 //水印位置 [waterOpacity] => 0 //水印的透明度 )
3、编辑器的使用
KindEditor.ready(function(K) { editor= K.create('textarea.cont', { cssPath : '__PUBLIC__/keditor/plugins/code/prettify.css', uploadJson :'', fileManagerJson:'{:U("Keditor/manager")}', allowFileManager : true, urlType:"domain", filterMode:true, afterBlur: function(){this.sync();} }); prettyPrint(); });
4、单张图片的上传
5、多张图片的上传
注意事项
1、Kindeditor的相关文件及功能(如css、js路径,上传后的图片呈现方式等)需要根据你的使用情况进行修改配置
2、传递对应参数,具体如下:
- $size='',限定大小
- $zoom='',是否缩放,可以指定true:根据配置的maxWidth和maxHeight进行缩放,也可以配置成:x_y的形式,即宽度_高度,比如$zoom=800_600,则按800*600进行缩放,而不依赖于前面两个参数。
- $thumb='',是否生成缩略图,同上,配置为true时按thumbWidth和thumbHeight来生成。
- $path='',存放目录
- $method=1,缩放方式
- $water=1是否添加水印
费用说明
本类不免费提供。您可以参考上面说明自行开发,或者支付我 50 元,我直接把源码发您。需要特别说明的是,我只提供本类源码,保障本源码及所述功能的完善,不负责集成、修改、维护与扩展!如果需要相关服务,请先沟通。另,需要的朋友请先添加微信,确认无误后微信支付。