keditor_php图片上传
<script type="text/javascript" src="/statics/js/kindeditor/kindeditor-min.js"></script>
<script type="text/javascript" src="/statics/js/kindeditor/zh_CN.js"></script>
<script type="text/javascript" src="/statics/js/uploadify/jquery.uploadify.min.js"></script>
<script type="text/javascript" src="/statics/js/kindeditor/default/default.css"></script>
<script charset="utf-8" src="/statics/js/kindeditor/plugins/code/prettify.js"></script>
<link rel="stylesheet" href="/statics/js/kindeditor/plugins/code/prettify.css" />
html:
<div class="form-group">
<label class="col-md-2 control-label">文章内容:</label>
<div class="col-md-9">
(分页符为:
<span style="color: red">#p#分页-标题#e#)</span>
<span>
<label>
<input id="autolitpic" type="checkbox">
提取第一个图片为缩略图
</label>
(
<a class="qximg" href="javascript:void();">[取消缩略图]</a>
)
</span>
<span style="color: red">*</span>
<div class="onShow" id="dr_content_tips">必填项,可无限输入,没有字数限制.</div>
<label class="textarea"><textarea name="content" id="content" class="content" onblur="content_validate()">{$info.content|default=''}</textarea>
<input type="hidden" name="parse" value="0"> <script
type="text/javascript">
var editor_content1;
KindEditor.ready(function(K) {
editor_content1 = K.create('textarea[name="content"]', {
allowFileManager : false,
themesPath: K.basePath,
width: '900px',
height: '700px',
resizeType: 1,
pasteType : 2,
urlType : 'absolute',
cssPath : '/statics/js/kindeditor/plugins/code/prettify.css',
uploadJson : '{:U('ke_upimg')}',
afterCreate : function() {
this.sync();
},
afterBlur:function(){
this.sync();
}
});
prettyPrint();
});
</script>
</label>
</div>
</div>
//后台代码
//keditor编辑器上传图片处理
public function ke_upimg(){
/* 返回标准数据 */
$return = array('error' => 0, 'info' => '上传成功', 'data' => '');
$img = $this->upload();
/* 记录附件信息 */
if($img){
$return['url'] = $img['fullpath'];
unset($return['info'], $return['data']);
} else {
$return['error'] = 1;
$return['message'] = session('upload_error');
}
/* 返回JSON数据 */
exit(json_encode($return));
}
/* 上传图片 */
public function upload(){
session('upload_error', null);
/* 上传配置 */
$setting = C('EDITOR_UPLOAD');
/* 调用文件上传组件上传文件 */
$config = array(
'maxSize' => 3145728,
'savePath' => './news/',
'saveName' => array('uniqid',''),
'exts' => array('jpg', 'gif', 'png', 'jpeg'),
'autoSub' => true,
'subName' => array('date','Ymd'),
);
$this->uploader = new \Think\Upload($config, 'Local');
$info = $this->uploader->upload($_FILES);
//Log::write(print_r($info));
if($info){
$url = '/Uploads'.$info['imgFile']['savepath'].$info['imgFile']['savename'];
$url = str_replace('./', '/', $url);
$info['fullpath'] = __ROOT__.$url;
}
session('upload_error', $this->uploader->getError());
return $info;
}
/**
* 上传图片
*/
public function uploadPicture(){
//TODO: 用户登录检测
/* 返回标准数据 */
$return = array('status' => 1, 'info' => '上传成功', 'data' => '');
$config = array(
'maxSize' => 3145728,
'savePath' => './news/',
'saveName' => array('uniqid',''),
'exts' => array('jpg', 'gif', 'png', 'jpeg'),
'autoSub' => true,
'subName' => array('date','Ymd'),
);
$this->uploader = new \Think\Upload($config, 'Local');
$info = $this->uploader->upload($_FILES);
/* 记录图片信息 */
if($info){
$url = '/Uploads'.$info['download']['savepath'].$info['download']['savename'];
$url = str_replace('./', '/', $url);
$return['path'] = __ROOT__.$url;
$return['id'] = 111;
$return['status'] = 1;
$return = array_merge($info['download'], $return);
} else {
$return['status'] = 0;
$return['info'] = $this->uploader->getError();
}
/* 返回JSON数据 */
$this->ajaxReturn($return);
}
js脚本,提取第一张图片:
//获取第一张图片
$('#autolitpic').click(function (){
if($(this).attr('checked')){
$(this).attr('checked',false);
}else {
$(this).attr('checked',true);
var content=$('.content').val();
if(content.match(/src="[^"]+"/g)==null){
alert('文章内容没有图片');
return;
}else{
var strcount=content.match(/src="[^"]+"/g)[0].replace("src=\"","");
var val=strcount.substring(0,strcount.length-1).replace("http://cb2013.tdedu.org","");
$("#thumb_img").attr('src',val);
$("#img").val(val);
}
}
});
//取消缩略图
$('.qximg').click(function (){
$("#thumb_img").attr('src',"");
$("#img").val("");
});
keditor_php图片上传的更多相关文章
- Asp.Net Mvc 使用WebUploader 多图片上传
来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...
- 06.LoT.UI 前后台通用框架分解系列之——浮夸的图片上传
LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...
- JS图片上传预览插件制作(兼容到IE6)
其实,图片预览功能非常地常见.很意外,之前遇到上传图片的时候都不需要预览,也一直没有去实现过.现在手上的项目又需要有图片预览功能,所以就动手做了一个小插件.在此分享一下思路. 一.实现图片预览的一些方 ...
- HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术
最近做项目在前端我使用了很多新技术,这些技术有bootstrap.angularjs,不过最让我兴奋的还是使用了HTML5的技术,今天我想总结一些HTML5的技术,好记性不如烂笔头,写写文章可以很好的 ...
- 对百度的UEditor多图片上传的一些补充
我已经写了一篇文章关于百度的UEditor提取多图片上传模块.如果还没有看过,请点击以下链接查看 http://www.cnblogs.com/luke1006/p/3719029.html 出差了两 ...
- 使用localResizeIMG3+WebAPI实现手机端图片上传
前言 惯例~惯例~昨天发表的使用OWIN作为WebAPI的宿主..嗯..有很多人问..是不是缺少了什么 - - 好吧,如果你要把OWIN寄宿在其他的地方...代码如下: namespace Conso ...
- TinyMCE的使用(包括汉化及本地图片上传功能)
TinyMCE我就不多介绍了,这是下载地址:https://www.tinymce.com/download/ 下载下来是英文版,要汉化也很简单.首先去网上随便下载个汉化包,然后把汉化包解压后的lan ...
- 包含修改字体,图片上传等功能的文本输入框-Bootstrap
通过jQuery Bootstrap小插件,框任何一个div转换变成一个富文本编辑框,主要特色: 在Mac和window平台下自动针对常用操作绑定热键 可以拖拽插入图片,支持图片上传(也可以获取移动设 ...
- PHP多图片上传实例demo
upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
随机推荐
- iOS 关于UIscrollView
设置 滚动起始位置 [scrollView setContentOffset:CGPointMake(0, 0) animated:YES];
- Java开发核心技术面试心得分析
Java的数据结构有哪些?Map与Set的本质区别是什么? 分析:Java常见的数据结构有Collection和Map,其中Collection接口下包括List和Set接口,其下又有多个实现类如Li ...
- 翻译:WebApi 认证--用户认证Oauth解析
The Web API v2用户认证模板提供了流行的应用用户认证场景,如.使用本地帐号的用户名密码认账 (包括创建用户.设置和修改密码)以及使用第三方的认证方式,如facebook,googl ...
- 安装TortoiseGit出现提示“您必须安装带有更新版本Windows Installer服务的Windows Service Pack”-解决方法
我的系统是xp sp3安装TortoiseGit时出现了错误提示“您必须安装带有更新版本Windows Installer服务的Windows Service Pack”. 解决方法,到微软官方下载相 ...
- css文字截取
给文字设置宽度 text-overflow:ellipsis; //超出部分用...表示 white-space:nowrap; //禁止换行 overflow:hidden; //超出部分的文字隐 ...
- 【Linux/Ubuntu学习4】ubuntu 下面安装 vim 的问题
ubuntu 下面安装 vim 的问题 1.输入vim时,显示: 程序“vim”已包含在以下软件包中: * vim * vim-gnome * vim-tiny * vim-gtk * vim-nox ...
- 重构7-Rename(method,class,parameter)
这是我最常用也是最有用的重构之一.我们对方法/类/参数的命名往往不那么合适,以至于误导阅读者对于方法/类/参数功能的理解.这会造成阅读者的主观臆断,甚至引入bug.这个重构看起来简单,但却十分重要. ...
- 使用hibernate配置多数据源链接MySQL和Oracle数据库
最近做项目要将读取到的数据同时插入到MySQL数据库和Oracle数据库当中,以前都是使用一个数据库,没有用过多数据源的情况,现在把这个问题搞定了,写下来希望对大家有点帮助,可能我所使用的方法不是最好 ...
- crawler4j:轻量级多线程网络爬虫实例
crawler4j是Java实现的开源网络爬虫.提供了简单易用的接口,可以在几分钟内创建一个多线程网络爬虫. 下面实例结合jsoup(中文版API),javacvs 爬取自如租房网(http://sh ...
- Linux的SOCKET编程详解
1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统.由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 U ...