kindeditor图片服务器php,kindeditor 粘贴网络图片保存到服务器

人老了,记忆也衰退了。写代码时,只有思路,具体写起来确总忘这忘那。还有的特性或功能,脑子里朦胧记得曾经看到过或曾经写过却总也记不起来。在网上找好多人的文章也就是转载别人,而图片因原作者空间失效而失效。于是想在自己blog 在转载好文章备份时,能顺便把里面图片也保存到自己服务器上。

由于对javascript 的了解不够深入,要在一个完全陌生的编辑器上做插件还真有点困难,加上php 也不是常用,边学边做发了三天终于将这样一个 粘贴网络图片保存到服务器 小插件做成功了。

贴出部分代码:

// 图片另存到服务器

editor.addContextmenu({

title : '另存到服务器',

click : function() {

var img = getImageFromRange(editor.edit.cmd.range, function(img) {

return !/^ke-\w+$/i.test(img[0].className);

});

var imgsrc = img.attr('src');

K.ajax('./editor/php/saveToServer.php', function(data){var newsrc = K.formatUrl(data.url,'absolute');

editor.exec('insertimage', newsrc, '', '', '', '', '');

editor.hideMenu();} , 'POST' ,{imgurl:imgsrc});

},

cond : function() {

return getImageFromRange(editor.edit.cmd.range, function(img) {

return !/^ke-\w+$/i.test(img[0].className);

});

}

});

服务器端代码:

require_once 'JSON.php';

require_once '../../globals.php';

$php_path = ADMIN_ROOT . '/';

$php_url = dirname($_SERVER['PHP_SELF']) . '/../../';

$root_path = $php_path . OPTION::UPLOADFILE_PATH.'image/netimg/';

$root_url = $php_url . OPTION::UPLOADFILE_PATH.'image/netimg/';

set_time_limit(0);

$filepath=urldecode($_POST['imgurl']);

$imgArray=array('.gif','.jpg','.png','.jpeg','.bmp');

$typeArray=array();

ob_start();

$type=strrchr(trim($filepath),".");

$result = false;

if($filepath!='' && in_array($type,$imgArray))

{

$now=time();

$filename=$now.strrchr(trim($filepath),".");

//$filename=md5_file(trim($files[$i])).strrchr(trim($files[$i]),".");

$ret = create_folders($root_path);

if($ret != false){

$savetime=SaveHTTPFile(trim($filepath),$root_path.$filename);

$result = true;

}

}

ob_end_flush();

if($result){

header('Content-type: text/html; charset=UTF-8');

$json = new Services_JSON();

echo $json->encode(array('error' => 0, 'url' => $root_url.$filename));

exit;

}else{

alert('创建目录失败!');

}

function getmicrotime(){

list($usec, $sec) = explode(" ",microtime());

return ((float)$usec + (float)$sec);

}

function SaveHTTPFile($fFileHTTPPath,$fFileSavePath)

{

//记录程序开始的时间

$BeginTime=getmicrotime();

//取得文件的内容

ob_start();

readfile($fFileHTTPPath);

$img = ob_get_contents();

ob_end_clean();

//$size = strlen($img);

//保存到本地

$fp2=@fopen($fFileSavePath, "a");

fwrite($fp2,$img);

fclose($fp2);

//记录程序运行结束的时间

$EndTime=getmicrotime();

//返回运行时间

return($EndTime-$BeginTime);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值