
ThinkPHP3.2.3+Kindeditor圖片上傳類
適合ThinkPHP3.2.3的Kindeditor圖片上傳類,支持批量上傳、圖像大小限制、是否縮放、是否生成縮略圖(單張)、指定保存位置、縮放方式指定、是否添加水印等功能。
功能說明
用的是Kindeditor的上傳功能,結合ThinkPHP處理成類文件,支持文件、視頻、圖像上傳,主要功能亮點在于圖像的上傳,其他未做處理。
支持批量上傳:這是Kindeditor本身的功能,只是把它集成到ThinkPHP中而已。
支持圖像大小限定:也是Kindeditor本身的功能,只是通過參數進行了聲明。默認未限定。
是否縮放:真多所有圖片,如果超出指定大小則縮放到該大小,未超出不縮放??s放后的尺寸根據縮放方式有所不同。具體參考下面相關說明。默認不縮放。
是否生成縮略圖:如果指定為true則根據配置參數生成對應的縮略圖,生成方式與縮放方式一致。默認不生成。本案只能生成一張縮略圖,如果需要同時生成多種也是可以處理的,你可以自行研究或聯系我。
指定保存位置:默認不指定,這個根據需要看是否開啟,舉例說明:所有文件的上傳目錄為upfiles,如果指定為banner則上傳到banner文件夾,如果指定為case則上傳到case文件夾,如果不指定則根據當前日期創建文件夾。
指定縮放方式:ThinkPHP圖像處理類本身功能,只是與Kindeditor結合了起來,1 等比例縮放類型 2 縮放后填充類型 3 居中裁剪類型 4 左上角裁剪類型 5 右下角裁剪類型 6 固定尺寸縮放類型。默認為1 等比縮放。
是否添加水?。耗J否。如果指定為是,只針對大圖添加水印,縮略圖是不會添加水印的,另外,還需要配置水印文件路徑。
使用方法
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 元,我直接把源碼發您。需要特別說明的是,我只提供本類源碼,保障本源碼及所述功能的完善,不負責集成、修改、維護與擴展!如果需要相關服務,請先溝通。另,需要的朋友請先添加微信,確認無誤后微信支付。