当前位置:首页 > PHP教程 > php上传下载 > 列表

CKEditor4结合php实现上传图片功能

发布:smiling 来源: PHP粉丝网  添加日期:2024-04-28 15:25:44 浏览: 评论:0 

ckedit4是没有图片上传功能的,单我们可以通过配置 config.js 文件来设置图片上传的接口,然后结合后端程序实现图片上传。本文讲解CKEditor4结合php实现上传图片功能的方法。

配置 config.js 文件

找到ckeditor目录下的config.js文件,添加两个配置

config.extraPlugins = 'uploadimage'

config.filebrowserImageUploadUrl =  '/api/UploadImg/upload.php'

//filebrowserImageUploadUrl 替换成你需要上传的接口

我们点击图片按钮时候,便发现弹窗中多了上传的tag界面 ,里面有选择文件按钮,可以上传图片到服务器,也就是会把file文件发送到上面设置的filebrowserImageUploadUrl接口。

upload.php 后端处理文件

TIPS:

1、ckedit4需要返回的json文件处理后续操作,使用json_encode;

2、$_REQUEST["ckCsrfToken"]是ckedit4需要的;

3、做了文件格式验证和文件大小处理;

4、文件名uniqid唯一处理。

  1. <?php 
  2. $callback = $_REQUEST["ckCsrfToken"]; 
  3. $list=array("uploaded"=>'0','callback'=>$callback); 
  4. $upaddress = "/uploads/allimg/".strftime("%Y%m",time())."/"
  5. echo upload(); 
  6. function upload(){ 
  7.     global $list,$upaddress
  8.     $callback = $_REQUEST["ckCsrfToken"]; 
  9.     $extensions = array("jpg","bmp","gif","png"); 
  10.     $allowed_types = ['image/jpeg''image/png''image/gif']; 
  11.     $uploadFilename = $_FILES['upload']['name']; 
  12.     $uploadFilesize = $_FILES['upload']['size']; 
  13.     $uploadFiletype = $_FILES['upload']['type']; 
  14.     $extension = pathInfo($uploadFilename,PATHINFO_EXTENSION); 
  15.     if(is_uploaded_file($_FILES['upload']['tmp_name']) && $uploadFilesize < 1024*300 && in_array($uploadFiletype$allowed_types) && in_array($extension,$extensions)){ 
  16.         $uploadPath = $_SERVER['DOCUMENT_ROOT'].$upaddress
  17.         if(!file_exists($uploadPath)) 
  18.         { 
  19.             mkdir($uploadPath,0777,true); 
  20.         } 
  21.         $uuid = str_replace('.','',uniqid("",TRUE)).".".$extension
  22.         $desname = $uploadPath.$uuid
  23.         $tag = move_uploaded_file($_FILES['upload']['tmp_name'],$desname); 
  24.         $list['uploaded']=1; 
  25.         $list['fileName']=$uuid
  26.         $list['url']=$upaddress.$uuid
  27.         return json_encode($list); 
  28.     }else
  29.         $list['error']="文件类型不对或文件太大!"
  30.         return json_encode($list); 
  31.     } 
  32. ?>

Tags: CKEditor4 php上传图片

分享到: