PHP CKEditor 上传图片实现代码


Posted in PHP onNovember 06, 2009

我花了一个下午的时间,自己用PHP脚本写了一个处理上传文件的脚本代码,没有做更多的安全处理,希望对大家有用。
首先,在你的config.js文件里添加如下代码:

CKEDITOR.editorConfig = function( config ) 
{ 
config.filebrowserImageUploadUrl = './upload.php?type=img'; 
config.filebrowserFlashUploadUrl = './upload.php?type=flash'; 
};

以上的配置是上传要处理到的文件的地址,你可以根据自己情况进行修改。upload.php文件如下:
<?php 
/* 
CKEditor_upload.php 
monkee 
2009-11-15 16:47 
*/ 
$config=array(); 
$config['type']=array("flash","img"); //上传允许type值 
$config['img']=array("jpg","bmp","gif"); //img允许后缀 
$config['flash']=array("flv","swf"); //flash允许后缀 
$config['flash_size']=200; //上传flash大小上限 单位:KB 
$config['img_size']=500; //上传img大小上限 单位:KB 
$config['message']="上传成功"; //上传成功后显示的消息,若为空则不显示 
$config['name']=mktime(); //上传后的文件命名规则 这里以unix时间戳来命名 
$config['flash_dir']="/ckeditor/upload/flash"; //上传flash文件地址 采用绝对地址 方便upload.php文件放在站内的任何位置 后面不加"/" 
$config['img_dir']="/ckeditor/upload/img"; //上传img文件地址 采用绝对地址 采用绝对地址 方便upload.php文件放在站内的任何位置 后面不加"/" 
$config['site_url']=""; //网站的网址 这与图片上传后的地址有关 最后不加"/" 可留空 
//文件上传 
uploadfile(); 
function uploadfile() 
{ 
global $config; 
//判断是否是非法调用 
if(empty($_GET['CKEditorFuncNum'])) 
mkhtml(1,"","错误的功能调用请求"); 
$fn=$_GET['CKEditorFuncNum']; 
if(!in_array($_GET['type'],$config['type'])) 
mkhtml(1,"","错误的文件调用请求"); 
$type=$_GET['type']; 
if(is_uploaded_file($_FILES['upload']['tmp_name'])) 
{ 
//判断上传文件是否允许 
$filearr=pathinfo($_FILES['upload']['name']); 
$filetype=$filearr["extension"]; 
if(!in_array($filetype,$config[$type])) 
mkhtml($fn,"","错误的文件类型!"); 
//判断文件大小是否符合要求 
if($_FILES['upload']['size']>$config[$type."_size"]*1024) 
mkhtml($fn,"","上传的文件不能超过".$config[$type."_size"]."KB!"); 
//$filearr=explode(".",$_FILES['upload']['name']); 
//$filetype=$filearr[count($filearr)-1]; 
$file_abso=$config[$type."_dir"]."/".$config['name'].".".$filetype; 
$file_host=$_SERVER['DOCUMENT_ROOT'].$file_abso; 
if(move_uploaded_file($_FILES['upload']['tmp_name'],$file_host)) 
{ 
mkhtml($fn,$config['site_url'].$file_abso,$config['message']); 
} 
else 
{ 
mkhtml($fn,"","文件上传失败,请检查上传目录设置和目录读写权限"); 
} 
} 
} 
//输出js调用 
function mkhtml($fn,$fileurl,$message) 
{ 
$str='<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction('.$fn.', \''.$fileurl.'\', \''.$message.'\');</script>'; 
exit($str); 
} 
?>

代码打包下载
PHP 相关文章推荐
PHP 函数执行效率的小比较
Oct 17 PHP
destoon设置自定义搜索的方法
Jun 21 PHP
CI框架验证码CAPTCHA辅助函数用法实例
Nov 05 PHP
解决nginx不支持thinkphp中pathinfo的问题
Jul 21 PHP
PHP批量去除BOM头内容信息代码
Mar 11 PHP
PHP设计模式之迭代器模式
Jun 17 PHP
thinkPHP5.0框架独立配置与动态配置方法
Mar 17 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
PHP正则判断一个变量是否为正整数的方法
Feb 27 PHP
PHP开发实现快递查询功能详解
Apr 08 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
PHP 压缩文件夹的类代码
Nov 05 #PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 #PHP
网页游戏开发入门教程三(简单程序应用)
Nov 02 #PHP
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 #PHP
初学CAKEPHP 基础教程
Nov 02 #PHP
PHP+MySQL 制作简单的留言本
Nov 02 #PHP
PHP+XML 制作简单的留言本 图文教程
Nov 02 #PHP
You might like
PHP 读取和修改大文件的某行内容的代码
2009/10/30 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
php下封装较好的数字分页方法
2010/11/23 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
JavaScript 学习笔记(五)
2009/12/31 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
Bootstrap面板(Panels)的简单实现代码
2017/03/17 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
详解vue跨组件通信的几种方法
2017/06/15 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
javascript实现搜索筛选功能实例代码
2020/11/12 Javascript
[02:38]DOTA2亚洲邀请赛小组赛精彩集锦:Wings完美团击溃对手
2017/03/29 DOTA
python音频处理用到的操作的示例代码
2017/10/27 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
2018/07/02 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
经管应届生求职信
2013/11/17 职场文书
饭店工作计划书
2014/01/10 职场文书
火车来了教学反思
2014/02/11 职场文书
教师校本培训方案
2014/02/26 职场文书
资料员岗位职责范本
2015/04/13 职场文书