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结合飞信 免费天气预报短信
May 07 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
Oct 27 PHP
PHP中文件缓存转内存缓存的方法
Dec 06 PHP
PHP以指定字段为索引返回数据库所取的数据数组
Jun 30 PHP
php实现的替换敏感字符串类实例
Sep 22 PHP
PHP制作图形验证码代码分享
Oct 23 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
PHP检测链接是否存在的代码实例分享
May 06 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
Jan 17 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 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
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
php实现的css文件背景图片下载器代码
2014/11/11 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
laravel学习教程之关联模型
2016/07/30 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
JavaScript中的事件处理
2008/01/16 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
简约JS日历控件 实例代码
2013/07/12 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
jQuery的end()方法使用详解
2015/07/15 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
Python如何在bool函数中取值
2020/09/21 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
有机童装:Toby Tiger
2018/05/23 全球购物
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
旅游节目策划方案
2014/05/26 职场文书
红歌会主持词
2015/07/02 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
校园安全主题班会
2015/08/12 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
python中mongodb包操作数据库
2022/04/19 Python