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

 更新时间:2024年03月23日 15:50:59   投稿:yin  
ckedit4是没有图片上传功能的,单我们可以通过配置 config.js 文件来设置图片上传的接口,然后结合后端程序实现图片上传,本文讲解CKEditor4结合php实现上传图片功能的方法

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唯一处理。

<?php
$callback = $_REQUEST["ckCsrfToken"];
$list=array("uploaded"=>'0','callback'=>$callback);
$upaddress = "/uploads/allimg/".strftime("%Y%m",time())."/";
echo upload();
function upload(){
	global $list,$upaddress;
	$callback = $_REQUEST["ckCsrfToken"];
	$extensions = array("jpg","bmp","gif","png");
	$allowed_types = ['image/jpeg', 'image/png', 'image/gif'];
	$uploadFilename = $_FILES['upload']['name'];
	$uploadFilesize = $_FILES['upload']['size'];
	$uploadFiletype = $_FILES['upload']['type'];
	$extension = pathInfo($uploadFilename,PATHINFO_EXTENSION);
	if(is_uploaded_file($_FILES['upload']['tmp_name']) && $uploadFilesize < 1024*300 && in_array($uploadFiletype, $allowed_types) && in_array($extension,$extensions)){
		$uploadPath = $_SERVER['DOCUMENT_ROOT'].$upaddress;
		if(!file_exists($uploadPath))
		{
			mkdir($uploadPath,0777,true);
		}
		$uuid = str_replace('.','',uniqid("",TRUE)).".".$extension;
		$desname = $uploadPath.$uuid;
		$tag = move_uploaded_file($_FILES['upload']['tmp_name'],$desname);
		$list['uploaded']=1;
		$list['fileName']=$uuid;
		$list['url']=$upaddress.$uuid;
		return json_encode($list);
	}else{
		$list['error']="文件类型不对或文件太大!";
		return json_encode($list);
	}
}
?>

总结

到此这篇关于CKEditor4结合php实现上传图片功能的文章就介绍到这了,更多相关CKEditor4实现上传图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • PHP数组循环操作详细介绍 附实例代码

    PHP数组循环操作详细介绍 附实例代码

    PHP数组循环操作主要有两种方式:一种是foreach,另一种是while,文章有详细的介绍,希望对大家有帮助
    2013-02-02
  • 阿里云的WindowsServer2016上部署php+apache

    阿里云的WindowsServer2016上部署php+apache

    这篇文章主要介绍了阿里云的WindowsServer2016上部署php+apache的相关资料,需要的朋友可以参考下
    2018-07-07
  • PHP的Yii框架中YiiBase入口类的扩展写法示例

    PHP的Yii框架中YiiBase入口类的扩展写法示例

    这篇文章主要介绍了PHP的Yii框架中YiiBase入口类的扩展写法示例,同时详细讲解了import和autoload这两个YiiBase中的重要方法,需要的朋友可以参考下
    2016-03-03
  • PHP学习之字符串比较和查找

    PHP学习之字符串比较和查找

    在PHP中,可以用==(双等号)或者 ===(三等号)来比较字符串。
    2011-04-04
  • 详解PHP优化巨量关键词的匹配

    详解PHP优化巨量关键词的匹配

    本文完整介绍了我的实现方式,如何将需要运行十小时的任务优化到十分钟以内。虽然实现语言是PHP,但本文介绍的更多的思想,应该能给大家一些帮助。
    2021-05-05
  • PHP提示Cannot modify header information - headers already sent by解决方法

    PHP提示Cannot modify header information - headers already sent

    这篇文章主要介绍了PHP提示Cannot modify header information - headers already sent by解决方法,是在PHP程序开发中非常典型的错误情况,非常具有实用价值,需要的朋友可以参考下
    2014-09-09
  • PHP性能分析工具XHProf安装使用教程

    PHP性能分析工具XHProf安装使用教程

    这篇文章主要介绍了PHP性能分析工具XHProf安装使用教程,本文给出详细安装步骤和配置方法以及使用实例,需要的朋友可以参考下
    2015-05-05
  • php PDO异常处理详解

    php PDO异常处理详解

    这篇文章主要给大家介绍了php中PDO异常处理的相关内容,文中给大家先进行了简单的介绍,然后通过实例代码给大家介绍了使用方式,介绍的非常详细,有需要的朋友们可以参考借鉴,感兴趣的朋友们下面来一起学习学习吧。
    2016-11-11
  • PHP数组访问常用方法解析

    PHP数组访问常用方法解析

    这篇文章主要介绍了PHP数组访问常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 从Web查询数据库之PHP与MySQL篇

    从Web查询数据库之PHP与MySQL篇

    PHP+MySQL的组合是构建网站的一个常见搭配,不过如何使用PHP通过Web访问MySQL数据库呢?下面从Web数据库架构的工作原理讲起。
    2009-09-09

最新评论