ckeditor_4.5.10_full上传图片功能
1、找到image.js
首先,还是image.js这个文件,搜索“upload”可以找到这一段
id:'Upload',hidden:!0
查看是否隐藏功能打开
2:实际操作中,只是第一步,还是看不到上传页面,只有配置了这一步才可以
上面的只是一个上传页面。也就相当于一个HTML的form表单,要配置点击“上传到服务器上”按钮后请求的Action。可以在ckeditor/config.js中配置。
加入:
config.filebrowserImageUploadUrl = 'upload.php?type=img';
config.filebrowserFlashUploadUrl = 'upload.php?type=flash';
3、upload.php的代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 <?php 2 3 /* 4 CKEditor_upload.php 5 monkee 6 2009-11-15 16:47 7 */ 8 $config = array(); 9 $config['type'] = array( 10 "flash", 11 "img" 12 ); //上传允许type值 13 $config['img'] = array( 14 "jpg", 15 "bmp", 16 "gif" 17 ); //img允许后缀 18 $config['flash'] = array( 19 "flv", 20 "swf" 21 ); //flash允许后缀 22 $config['flash_size'] = 200; //上传flash大小上限 单位:KB 23 $config['img_size'] = 500; //上传img大小上限 单位:KB 24 $config['message'] = "上传成功"; //上传成功后显示的消息,若为空则不显示 25 $config['name'] = mktime(); //上传后的文件命名规则 这里以unix时间戳来命名 26 $config['flash_dir'] = "/ckeditor/upload/flash"; //上传flash文件地址 采用绝对地址 方便upload.php文件放在站内的任何位置 后面不加"/" 27 $config['img_dir'] = "/ckeditor/upload/img"; //上传img文件地址 采用绝对地址 采用绝对地址 方便upload.php文件放在站内的任何位置 后面不加"/" 28 $config['site_url'] = ""; //网站的网址 这与图片上传后的地址有关 最后不加"/" 可留空 29 //文件上传 30 uploadfile(); 31 function uploadfile() { 32 global $config; 33 //判断是否是非法调用 34 if (empty($_GET['CKEditorFuncNum'])) mkhtml(1, "", "错误的功能调用请求"); 35 $fn = $_GET['CKEditorFuncNum']; 36 if (!in_array($_GET['type'], $config['type'])) mkhtml(1, "", "错误的文件调用请求"); 37 $type = $_GET['type']; 38 if (is_uploaded_file($_FILES['upload']['tmp_name'])) { 39 //判断上传文件是否允许 40 $filearr = pathinfo($_FILES['upload']['name']); 41 $filetype = $filearr["extension"]; 42 if (!in_array($filetype, $config[$type])) mkhtml($fn, "", "错误的文件类型!"); 43 //判断文件大小是否符合要求 44 if ($_FILES['upload']['size'] > $config[$type . "_size"] * 1024) mkhtml($fn, "", "上传的文件不能超过" . $config[$type . "_size"] . "KB!"); 45 //$filearr=explode(".",$_FILES['upload']['name']); 46 //$filetype=$filearr[count($filearr)-1]; 47 $file_abso = $config[$type . "_dir"] . "/" . $config['name'] . "." . $filetype; 48 $file_host = $_SERVER['DOCUMENT_ROOT'] . $file_abso; 49 if (move_uploaded_file($_FILES['upload']['tmp_name'], $file_host)) { 50 mkhtml($fn, $config['site_url'] . $file_abso, $config['message']); 51 } else { 52 53 //mkhtml($fn, "", $_FILES['upload']['tmp_name']); 54 mkhtml($fn, "", $file_host); 55 mkhtml($fn, "", "文件上传失败,请检查上传目录设置和目录读写权限"); 56 } 57 } 58 } 59 //输出js调用 60 function mkhtml($fn, $fileurl, $message) { 61 $str = '<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction(' . $fn . ', \'' . $fileurl . '\', \'' . $message . '\');</script>'; 62 exit($str); 63 } 64 ?>
4、注意上面的目的目录必须存在,可以事先创建