kindeditor 自动上传远程图片到本地
首先第一步我们要在kindeditor.js 中找到
K(doc).keyup(function(e) {
if (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) {
df();
return;
}
if (newlineTag == 'br') {
return;
}
if (_GECKO) {
var root = self.cmd.commonAncestor('p');
var a = self.cmd.commonAncestor('a');
if (a && a.text() == '') {
a.remove(true);
self.cmd.range.selectNodeContents(root[0]).collapse(true);
self.cmd.select();
}
return;
}
在这当中我加入了df();一个函数。
第二步
我们加入了一个js文件,
function df() {
var haspicContainer = document.getElementById("has_pic");
if (haspicContainer == null) {
haspicContainer = document.createElement("div");
haspicContainer.id = "has_pic";
haspicContainer[removed] = "<input type='text' id='piclist' value='' st
$(".ke-toolbar").after(haspicContainer);
// uploadpic();
}
var img = $(".ke-edit-iframe").contents().find("img");
var piccount = 0;
var sstr = "";
$(img).each(function (i) {
var that = $(this);
if (that.attr("src").indexOf("http://") >= 0 || that.attr("src").indexOf("https://") >= 0) {
piccount++;
if (i == $(img).length - 1)
sstr += that.attr("src");
else
sstr += that.attr("src") + "|";
}
});
$("#piclist").val(sstr);
document.getElementById("has_pic").style.display = (piccount > 0) ? "block" : "none";
uploadpic();
}
function closeupload() {
$("#has_pic").hide();
$("#upload").show();
}
function uploadpic() {
var piclist = encodeURI($("#piclist").val());
if (piclist.length == 0) return false;
$.ajax({
url: "/Public/editor/php/file_remote_upload.php",
data: "pic=" + piclist,
type: "GET",
beforeSend: function () {
$("#upload").hide();
// $("#confirm").text("正在上传中...");
},
success: function (msg) {
// alert(msg)
if (msg !== "") {
var str = new Array();
str = msg.split('|');
// alert(str);
var img = $(".ke-edit-iframe").contents().find("img");
var k = 0;
$(img).each(function (i) {
// alert(i)
var that = $(this);
if (that.attr("src").indexOf("http://") >= 0 || that.attr("src").indexOf("https://") >= 0) {
that.attr("src", "/uploads/image/" + str[k]);
that.attr("data-ke-src", "/uploads/image/" + str[k]);
}else{
k--;
}
k++
});
// $("#confirm").html(img.length + "张图片已经上传成功! 关闭");
}
}
});
}
第三方我们加入php上传文件
<?php
/**
* KindEditor PHP
*
* 本PHP程序是演示程序,建议不要直接在实际项目中使用。
* 如果您确定直接使用本程序,使用之前请仔细确认相关安全设置。
*
*/
$pic = $_REQUEST['pic'];
$arr = explode('|', $pic);
$sstr="";
foreach($arr as $imgUrl){
if(strpos($imgUrl, 'http://') !==false || strpos($imgUrl, 'https://') !==false){
//打开输出缓冲区并获取远程图片
// ob_start();
// $context = stream_context_create(
// array (
// 'http' => array (
// 'follow_location' => false // don't follow redirects
// )
// )
// );
// //请确保php.ini中的fopen wrappers已经激活
// readfile( $imgUrl,false,$context);
// $img = ob_get_contents();
// ob_end_clean();
$file=date("Ymdhis").uniqid() . strrchr( $imgUrl , '.' );
$savePath = "../../../uploads/image/".$file;
getImg($imgUrl,$savePath);
$sstr .= $file."|";
}
}
$sstr = rtrim($sstr,'|');
/*
*@通过curl方式获取制定的图片到本地
*@ 完整的图片地址
*@ 要存储的文件名
*/
function getImg($url = "", $filename = "") {
if(is_dir(basename($filename))) {
echo "The Dir was not exits";
Return false;
}
//去除URL连接上面可能的引号
$url = preg_replace( '/(?:^[\'"]+|[\'"\/]+$)/', '', $url );
$hander = curl_init();
$fp = fopen($filename,'wb');
curl_setopt($hander,CURLOPT_URL,$url);
curl_setopt($hander,CURLOPT_FILE,$fp);
curl_setopt($hander,CURLOPT_HEADER,0);
curl_setopt($hander,CURLOPT_FOLLOWLOCATION,1);
//curl_setopt($hander,CURLOPT_RETURNTRANSFER,false);//以数据流的方式返回数据,当为false是直接显示出来
curl_setopt($hander,CURLOPT_TIMEOUT,60);
/*$options = array(
CURLOPT_URL=> 'http://jb51.net/content/uploadfile/201106/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg',
CURLOPT_FILE => $fp,
CURLOPT_HEADER => 0,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_TIMEOUT => 60
);
curl_setopt_array($hander, $options);
*/
curl_exec($hander);
curl_close($hander);
fclose($fp);
Return true;
}
exit($sstr);
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:service@webmeng.net 进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
以上信息是否解决您的问题?
相关问题
- 免费云服务器
- 免费SSL证书
- webmeng 循环 列出 数据
- PHP判断语句
- 这个工具,节省80%工作量不过分吧
- CodeIgnter 报错 The Encrypt library...
- WebmengWeb 2024 体验版下载
- liunx系统开启推送服务
- Webmeng2024内页升级大全-访问ID分类地区留言 | 推荐
- webmeng第5代升级
- Webmeng登录模块login
- phpstudy配置运行CI4框架
- CI4框架应用三 - app目录
- Webmeng404错误 模板路径
- PHP获取当前页面URL路径
- CI框架中的开启调试模式
- JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
- JS---PC端和移动端的无缝切换
- pc端、手机端网页切换
- 关于smarty限制文字输出字数
- php smarty 限制显示字数,smarty现在显示字数的各种...
- nginx和apache的区别,选择哪个好?
- Webmeng系统在Nginx下载伪静态写法
- ci 地址去掉index.php,CI框架去掉index.php的方
- search-高级搜索
- Webmeng 2022 V13.0.1 下载地址
- wap手机网页html通过特殊链接:打电话,发短信,发邮件详细教程
- Webmeng分类导航标签,模板
- Webmeng模板路径
- Webmeng内页导航
- Webmeng三级分类
- Webmeng控制器统计实现
- PHP安装扩展mcrypt以及相关依赖项 【PHP安装PECL扩展...
- Webmeng配置字段调用
- 调用Webmeng统计数据
- PHP单页统计方法
- .PHP后缀去除方法
- WebmengSAAS 商品管理 - 新增商品
- Webmengshop 支付宝配置
- Webmeng PHP文档获取列表,非在模版环境下
餐厅介绍
自助餐厅
用户评论