本文将为您提供关于dedecms实现ctrl+v粘贴图片并上传、word粘贴带图片的详细介绍,同时,我们还将为您提供关于DedeCMS5.7标签tag长度限制的修改办法、dedecms5.7怎样在任意
本文将为您提供关于dedecms 实现ctrl+v粘贴图片并上传、word粘贴带图片的详细介绍,同时,我们还将为您提供关于DedeCMS 5.7 标签tag长度限制的修改办法、dedecms 5.7怎样在任意位置显示自由列表标题+链接、DedeCMS Error:Tag disabled:php错误的完整处理办法、DEDECMS JSON数据生成 DEDECMS JSON接口制作的实用信息。
本文目录一览:- dedecms 实现ctrl+v粘贴图片并上传、word粘贴带图片
- DedeCMS 5.7 标签tag长度限制的修改办法
- dedecms 5.7怎样在任意位置显示自由列表标题+链接
- DedeCMS Error:Tag disabled:php错误的完整处理办法
- DEDECMS JSON数据生成 DEDECMS JSON接口制作
dedecms 实现ctrl+v粘贴图片并上传、word粘贴带图片
如何做到 ueditor批量上传word图片?
1、前端引用代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<Meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>
<title>编辑器完整版实例-1.2.6.0</title>
<script type="text/javascript"src="ueditor.config.js"charset="utf-8"></script>
<script type="text/javascript"src="ueditor.all.js"charset="utf-8"></script>
<link type="text/css"rel="Stylesheet"href="WordPaster/css/WordPaster.css"/>
<link type="text/css"rel="Stylesheet"href="WordPaster/js/skygqBox.css"/>
<scrip ttype="text/javascript"src="WordPaster/js/json2.min.js"charset="utf-8"></script>
<scrip ttype="text/javascript"src="WordPaster/js/jquery-1.4.min.js"charset="utf-8"></script>
<scrip ttype="text/javascript"src="WordPaster/js/WordPaster.js"charset="utf-8"></script>
<scrip ttype="text/javascript"src="WordPaster/js/skygqBox.js"charset="utf-8"></script>
</head>
<body>
<textarea name="后台取值的key"id="myEditor">这里写你的初始化内容</textarea>
<script type="text/javascript">
var pasterMgr = new WordPasterManager();
pasterMgr.Config["PostUrl"] = "http://localhost:81/WordPaster2/WordPasterUEditor1x/PHP/upload.PHP"
pasterMgr.Load();//加载控件
UE.getEditor('myEditor',{onready:function(){//创建一个编辑器实例
pasterMgr.SetEditor(this);
}});
</script>
</body>
</html>
请求
文件上传的默认请求是一个文件,作为具有“upload”字段的表单数据。
响应:文件已成功上传
当文件成功上传时的JSON响应:
uploaded- 设置为1。
fileName - 上传文件的名称。
url - 上传文件的URL。
响应:文件无法上传
uploaded- 设置为0。
error.message - 要显示给用户的错误消息。
2、粘贴word里面的图片路径是fill://D 这种格式 我理解这种是非浏览器安全的 许多浏览器也不支持
目前项目是用了一种变通的方式:
先把word上传到后台 、poi解析、存储图片 、转换html、替换图片、放到富文本框里显示
(富文本显示有个坑:没找到直接给富文本赋值的方法 要先销毁 记录下
success : function(data) {
$('#content').attr('value',data.imagePath);
var editor = CKEDITOR.instances["content"]; //你的编辑器的"name"属性的值
if (editor) {
editor.destroy(true);//销毁编辑器
}
CKEDITOR.replace('content'); //替换编辑器,editorID为ckeditor的"id"属性的值
$("#content").val(result); //对editor赋值
//CKEDITOR.instances.contentCkeditor.setData($("#content").text());
}
3.接收上传的图片并保存在服务端
<?PHP
ob_start();
//201201/10
$timeDir =date("Ym")."/".date("d");
$uploadDir =dirname(__FILE__).'/upload/'.$timeDir;
$curDomain = "http://".$_SERVER["HTTP_HOST"]."/";
//相对路径 http://www.ncmem.com/upload/2012-1-10/
$relatPath = $curDomain ."WordPaster2/WordPasterUEditor1x/PHP/upload/" . $timeDir . "/";
//自动创建目录。upload/2012-1-10
if(!is_dir($uploadDir))
{
mkdir($uploadDir,0777,true);
}
//如果PHP页面为UTF-8编码,请使用urldecode解码文件名称
//$fileName = urldecode($_FILES['postedFile']['name']);
//如果PHP页面为GB2312编码,则可直接读取文件名称
$fileName = $_FILES['file']['name'];
$tmpName = $_FILES['file']['tmp_name'];
//取文件扩展名jpg,gif,bmp,png
$path_parts =pathinfo($fileName);
$ext = $path_parts["extension"];
$ext =strtolower($ext);//jpg,png,gif,bmp
//只允许上传图片类型的文件
if($ext == "jpg"
|| $ext == "jpeg"
|| $ext == "png"
|| $ext == "gif"
|| $ext == "bmp")
{
//年_月_日_时分秒毫秒.jpg
$saveFileName = $fileName;
//xxx/2011_05_05_091250000.jpg
$savePath = $uploadDir . "/" . $saveFileName;
//另存为新文件名称
if (!move_uploaded_file($tmpName,$savePath))
{
exit('upload error!' . "文件名称:" .$fileName . "保存路径:" . $savePath);
}
}
//输出图片路径
//$_SERVER['HTTP_HOST'] localhost:81
//$_SERVER['REQUEST_URI'] /FCKEditor2.4.6.1/PHP/test.PHP
$reqPath =str_replace("upload.PHP","",$_SERVER['REQUEST_URI']);
echo $relatPath . $saveFileName;
header('Content-type: text/html; charset=utf-8');
header('Content-Length: ' .ob_get_length());
?>
效果展示:
在使用前需要配置一下,可以参考我写的这篇文章:http://blog.ncmem.com/wordpress/2019/08/07/umeditor%E7%B2%98%E8%B4%B4word%E5%9B%BE%E7%89%87/
讨论群:223813913
DedeCMS 5.7 标签tag长度限制的修改办法
大家都知道默认情况下,dedecms的标签tag长度是12个字节,也就是6个汉字,哪知道在织梦5.7中,也没有改掉这个烦恼的事,可能这个设定是基于效率问题考虑的,如果更新的时候设置的长度超过这个字符,系统就会不显示这个tag。有时候需要根据实际情况修改tag的长度,下面是办法,测试可用。
1.修改数据库中表dede_tagindex 和dede_taglist的tag字段属性:varchar(12)修改为varchar(255) 。
这个步骤需要直接操作数据库。
2.修改文件:/include/helpers/archive.helper.php
查找:if(isset($tag[12]) 修改为:if(isset($tag[255]) ;
再将if(isset($tag[20]) 修改为:if(isset($tag[255]) 。
本文章网址:http://www.ppssdd.com/code/13690.html。转载请保留出处,谢谢合作!dedecms 5.7怎样在任意位置显示自由列表标题+链接
dedecms 5.7怎样在任意位置显示自由列表标题+链接?
为什么会有这样的问题呢,因为找了半天没有发现织梦cms中调用自由列表的标签.在度哥上也没找到答案.那就只有自己捉摸了.下面是我用到的办法,其实是很简单的,只需要一句简单的sql代码就可以实现了
{dede:sql sql="select * From dede_freelist limit 100"}
<a href=http://www.dede58.com/a/dedejq/"[field:listdir/]">[field:title/]</a>
{/dede:sql}
前提是必须删除添加自由列表时地址时前面出现的 {listdir}标签.
如图:
本文章网址:http://www.ppssdd.com/code/14438.html。转载请保留出处,谢谢合作!
DedeCMS Error:Tag disabled:php错误的完整处理办法
网站提示DedeCMS Error:Tag disabled:"php" more...!
在*新的织梦CMSdedecms5.7版本与7月15号的补丁里,官方增加了源码引擎禁用的全局设置,
用于控制哪些源码标签无法被加载,所有支持的源码标签可见系统目录下的“\include\taglib”,默认php标签是被禁用的。
当你还原数据的以后,有可能原来备份里没这个选项,或者是你禁用了源码里的php标签,所以才会报错 。
处理办法如下:
我们先登录后台找到网站后台--系统--系统基本参数---其他选项 ---源码引擎禁用标签。
如果没有找到这一项,请到后台-系统-系统设置-SQL命令行工具里运行一下下面的sql语句
INSERT INTO `dede_sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ('cfg_disable_funs', '源码引擎禁用PHP函数', 7, 'bstring', 'phpinfo,eval,exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source,file_put_contents');
INSERT INTO `dede_sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ('cfg_disable_tags', '源码引擎禁用标签', 7, 'bstring', 'php');
然后在织梦CMS网站后台--系统--系统基本参数---其他选项 ---源码引擎禁用标签里把php删除掉保存就正常了。
本文章网址:http://www.ppssdd.com/code/14225.html。转载请保留出处,谢谢合作!DEDECMS JSON数据生成 DEDECMS JSON接口制作
json数据格式可以方便不同站点之间进行数据调用引用,当然我们的DEDECMS也可以实现全站数据生成JSON供其他站点调用,代码很简单,主要用到include/json.class.php。
织梦本身是自带json标签的,调用办法:
{dede:json url='' cache=300}
[field:id/]-[field:title/]<br/>
{/dede:json}
这个标签调用例子在织梦手册里已经给我们提供了,url是一个远程json接口地址,这个接口文件json.php代码 里面,*后的返回必须是把数据通过json_encode($feeds)系统函数,进行json编码后,通过echo或print()函数来打印出来,这二点是必须的,然后,在前台我们就可以通过$.ajax()或$.getjson()来获取数据。织梦系统给我们提供了一个json类,在include/json.class.php文件里面,也就是是说,我们在对php文件转换json编码,就有了二种办法:
1.直接用php系统给我们提供的系统函数,json_encode(),我建立大家用这个,即简单又省事,既然,php系统给我们提供了,我们可以不用织梦系统提供的。
2.就是用织梦系统提供的,encode(),在使用前,首先引入json.class.php,即:
require_once(DEDEINC.'/json.class.php');
$json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS);
echo $json->encode($reval);
$reval这个变量是我们从数据库或其它地方得到的,一般是一个二维数组,例如下:
Array (
[0] => Array ( [id] => 95 [title] => 原图设计)
[1] => Array ( [id] => 113 [title] => ssssssssssss)
[2] => Array ( [id] => 111 [title] => hjhj )
[3] => Array ( [id] => 110 [title] => ssssssssssss)
)
经echo 以后,显示的内容如下所示。
[
{"id":"95","title":"\u539f\u521b"},
{"id":"113","title":"ssssssssssss"},
{"id":"111","title":"hjhj"},
{"id":"110","title":"ssssssssssss"}
]
这是经过encode()或用json_encode()后,显示的内容。即,用中括号括起来的,几个json数据,这个数据回给请求的$.ajax()或$.getjson(),并由其对这个数据进行处理,显示我们相要的结果。
知道了原理,接下来就是详细实现办法,如下:
首先新建一个PHP文件,命名为json.php(也可以新建个文件夹命名为api,然后PHP命名为index.php,这样调用的时候就只需要你的域名/api这样的方式调用),用于作为被调用的API接口,代码如下:
<?php
$cfg_NotPrintHead = false;
header("Content-Type: text/html; charset=utf-8");
include_once (dirname(__FILE__)."/../include/common.inc.php");
error_reporting(E_ALL || ~E_NOTICE);
require_once(DEDEINC.'/json.class.php');
$reval = array();
$dsql->SetQuery("SELECT id,title FROM `dede_archives` ORDER BY id DESC LIMIT 0,10");
$dsql->Execute('me');
while ($row = $dsql->GetArray('me')) {
$row['title'] = gb2utf8($row['title']);
$reval[] = $row;
}
$json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS);
echo $json->encode($reval);
?>
这里代码有进行了GBK转UTF8的操作,所以兼容GBK版的DEDECMS
调用办法:
{dede:json url='域名/json.php' cache=300}
[field:id/]-[field:title/]<br/>
{/dede:json}
把调用代码放到你你需要的地方就行
本文章网址:http://www.ppssdd.com/code/10237.html。转载请保留出处,谢谢合作!今天的关于dedecms 实现ctrl+v粘贴图片并上传、word粘贴带图片的分享已经结束,谢谢您的关注,如果想了解更多关于DedeCMS 5.7 标签tag长度限制的修改办法、dedecms 5.7怎样在任意位置显示自由列表标题+链接、DedeCMS Error:Tag disabled:php错误的完整处理办法、DEDECMS JSON数据生成 DEDECMS JSON接口制作的相关知识,请在本站进行查询。
本文标签: