kindeditor 粘贴网络图片保存到服务器
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
只回答业务咨询
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
人老了,记忆也衰退了。写代码时,只有思路,具体写起来确总忘这忘那。还有的特性或功能,脑子里朦胧记得曾经看到过或曾经写过却总也记不起来。在网 上找好多人的文章也就是转载别人,而图片因原作者空间失效而失效。于是想在自己blog 在转载好文章备份时,能顺便把里面图片也保存到自己服务器上。
由于对javascript 的了解不够深入,要在一个完全陌生的编辑器上做插件还真有点困难,加上php 也不是常用,边学边做发了三天终于将这样一个 粘贴网络图片保存到服务器 小插件做成功了。
贴出部分代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// 图片另存到服务器 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); }); } }); |
服务器端代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
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); } |
学习日记,兼职软件设计,软件修改,毕业设计。
本文出自 学习日记,转载时请注明出处及相应链接。
本文永久链接: https://www.softwareace.cn/?p=1100