联系信息

ThinkPHP3.2.3+Kindeditor图片上传类

2020-01-25 22:33 By 致远 3101
当前位置: 企业网站建设 > 企业网站程序 > ThinkPHP3.2.3+Kindeditor图片上传类
ThinkPHP3.2.3+Kindeditor图片上传类
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 元,我直接把源码发您。需要特别说明的是,我只提供本类源码,保障本源码及所述功能的完善,不负责集成、修改、维护与扩展!如果需要相关服务,请先沟通。另,需要的朋友请先添加微信,确认无误后微信支付。


留下您的评论

>