织梦dedeCMS提示“系统无此标签,可能已经移除”的解决办法
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!
可能一些朋友遇到过这样的问题,这个问题提示的错误信息如下:
系统无此标签,可能已经移除!
复制代码
你还可以尝试通过搜索程序去搜索这个关键字:前往搜索>>
如果你的浏览器没反应,请点击这里…
该问题可能出现的前提一:DEDECMS标签中包含“大写字母”
解决方法:
在网站根目录下找到tags.php 此文件,将以下代码替换掉:
$tag=trim($_SERVER[‘QUERY_STRING’]);
换成
$tag=strtolower(trim($_SERVER[‘QUERY_STRING’]));
该问题可能出现的前提二:DEDECMS标签伪静态后中文标签的问题:
一般情况下,伪静态不会有问题,但是百度自打3B大战之后,把原始结果中的网址转化为“跳转方式”,于是问题就出现了,原本的网址是这样的:
http://www.xxx.com/tags_%D7%EE%BB%F0%C8%ED%BC%FE%D5%BE.html
被百度转化之后成为:
http://www.xxx.com/tags_风格酷.html
这时又会出现上边的错误,出现这个问题的原因是IIS伪静态中文转码为UTF8,解决方法就是在tags.php中加入判断UTF8编码的语句,如果是则转换为GBK,这样就可以解决了,详细教程可参考《dedecms5.7完美tag标签伪静态》一文。
解决后的网址示例(复制到浏览器打开):http://www.jutuibao.com/tags_吴莫愁.html
另外网上还有一个方法:
在根目录找到”tags.php”文件,找到以下代码:
$tag=FilterSearch(urldecode($tag));
将其修改为:
$tag=urldecode($tag);
这个实在是不解,把FilterSearch删除?如何检索标签???不知道为什么这样做!
dedecms织梦默认对远程JPEG格式图片不能本地化,网上搜索了一番,疑似被这个问题困扰的人蛮多的,所以,写了一个针对dede远程JPEG格式图片不能本地化的解决方法。经过摸索,只需修改一个文件就可以,本文只针对复制采集远程jpeg格式图片不能本地化的修改。
第一步、后台附件设置,图片浏览器文件类型:jpg|gif|png|jpeg|bmp,注意添加jpeg。
第二步、修改dede/inc/inc_archives_functions.php文件,搜索gif|jpg|png修改为gif|jpg|png|jpeg就可以了。
有时候我们织梦dedecms登录后台提示\include?ogin.class.php on line 21字样的错误,下面告诉大家解决办法:
首先在管理目录里面的templets文件夹里面找到index_body.htm文件,找到如下代码:
复制代码
$(function()
{
$.get(“index_testenv.php”,function(data)
{
if(data !==”)
{
$(“#__testEvn”).html(data);
}
})
})
将以上代码注释掉或者删掉就可以了。
织梦dedecms V5.7 utf8版的ckeditor编辑器里面有一个“多图发布”按钮,但是当鼠标放到按钮上时,提示文字是乱码 ,如下图:
但是织梦gbk版本却是正常的,其实解决这个问题很简单,出现这个乱码说明本来应该是utf8的文件现在是gbk,是文件编码的问题,只要找到ckeditor编辑器控制多图发布按钮的文件,把文件由gbk代码改成utf就可以了。
下面是具体操作步骤。
1、首先 ,用dreamweaver编辑器打开网站根目录\include\ckeditor\plugins\multipic\plugin.js文件。
2、点击导航栏“修改”——页面属性(或者按快捷键Ctrl+J),在打开的页面属性窗口,把文档编码选择成utf-8,如下图所示:
3、修改完成之后保存,然后清除一下浏览器缓存重新登录后台就可以发现提示的文字是正常的了!
错误提示:Tag Character postion 1434, ‘item’ Error!
服务器环境:Apache/2.4.4PHP/5.5.3dedecms/v5.7
具体的原因没找到,断点跟踪代码发现:是这两个文件的问题
/admin/inc/inc_menu.php line 77/admin/inc/inc_menu_map.php line 134
解决方法:
删除这行代码:
或者下面两行代码对换下位置即把
改成
网站发布不了文章,提示更新附加表 `dede_addon17` 时出错,请检查原因!搜索了原因,发现很多人出现 这个问题,现在将修复方法公布如下:
系统可能是dede5.6,dede5.7,dede v5.7sp1等
出现问题一般为
1、发布文章时出现 把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给dedecms官方;
2、上传图片是出现 把数据保存到数据库附加表’dede_addonimages’时出错,请把相关信息提交给dedecms官方
3、第三方模型发布出现 更新附加表 `dede_addon17` 时出错,请检查原因!
原因是在dede_addonimages、addonimages 、dede_addon17等对应的里少了一个名为(body)的字段。
解决方法:
执行下面的SQL创建这个字段就不出现那个错误了:
方法为 点击后台系统-SQL命令行工具-运行SQL命令行:运行对应的SQL语句就行
1、 ALTER TABLE `dede_addonarticle` ADD `body` mediumtext
2、 ALTER TABLE `dede_addonimages` ADD `body` mediumtext
3、ALTER TABLE `dede_addon17` ADD `body` mediumtext
一定要找到对应的字段然后添加
今天我们把一个网站后台进行升级,由 DedeCMS 5.6 升级至 DedeCMS 5.7SP1 后,发现在文档列表不显示栏目和发布人信息。经过查找,发现可以通过以下两步方法进行解决。希望对遇到同样问题的朋友有一定的帮助。
一、清空/data/tplcache 文件夹中的所有缓存文件,清空后刷新后台,发布人就会显示了。
二、删除/data/cache/inc_catalog_base.inc 该文件,清空后刷新后台,类目就会显示了。
想要让DedeCMS采集文章后,直接导出成仅动态的类型,而不是未生成?按照下面步骤即可实现。
登陆FTP,寻找 dede/co_export.php 文件,找到如下代码:
//插入数据库
$rs=$dsql->ExecuteNoneQuery($indexSql);
if($rs)
{
$aid=$dsql->GetLastID();
$mainSql=str_replace(‘@aid@’,$aid,$mainSql);
$addSql=str_replace(‘@aid@’,$aid,$addSql);
$mainSql=ereg_replace(‘@([a-z0-9]{1,})@’,”,$mainSql);
$addSql=ereg_replace(‘@([a-z0-9]{1,})@’,”,$addSql);
$rs=$dsql->ExecuteNoneQuery($mainSql);
if(!$rs)
{
echo “导入 ‘$title’ 时错误:”.$dsql->GetError().”
”;
$dsql->ExecuteNoneQuery(“Delete From `arctiny` where id=’$aid’ “);
}
else
{
$rs=$dsql->ExecuteNoneQuery($addSql);
if(!$rs)
{
echo “导入 ‘$title’ 时错误:”.$dsql->GetError().”
”;
$dsql->ExecuteNoneQuery(“Delete From `arctiny` where id=’$aid’ “);
$dsql->ExecuteNoneQuery(“Delete From `$maintable` where id=’$aid’ “);
}
}
}
$dsql->ExecuteNoneQuery(“update `co_htmls` set isexport=1 where aid=’$exid’ “);
}
请将修改为如下代码(直接替换即可)
$dsql->ExecuteNoneQuery(“update `archives` set ismake=-1 where id=’$aid’ “);
最近把小站更新到v5.7 SP1版本,结果发现谷歌联盟和百度联盟的广告都不能显示。对比了一下之前版本的首页源码,发现更新后的系统中,广告代码双引号前均多了一个反斜杠。在网上搜了一下,没有找到解决方法,只好自己排查,终于发现了问题所在。我在这里把解决方法分享出来,让各位站长少走些弯路。
找到ad_add.php文件第30行,把这段代码:
复制代码
if($normbody[‘style’]==’code’)
{
$normbody=addslashes($normbody[‘htmlcode’]);
}
改成如下代码:
复制代码
if($normbody[‘style’]==’code’)
{
$normbody=$normbody[‘htmlcode’];
}
注:addslashes函数会在指定的预定义字符前添加反斜杠,主要是对一些特殊字符进行转义。
修改完后保存,然后上传到服务器,再添加的广告就能正常显示了。
因为反斜杠是在广告代码插入到数据库之前添加的,所以数据库中之前添加的广告代码不会变(反斜杠依然存在)。只要把之前添加的广告都删除,然后重新添加就可以了。当然,你也可以直接在数据库中手工把每个广告的反斜杠都去掉。
用dedecms 系统做网站的朋友特别多,dedecms功能强大,除了安全是一个问题外,tags标签静态化问题困扰很多朋友,湖哥为了解决一个网站的tags标签静态化问题找了很多文章,也试了很多次,终于在今天解决了这个问题:
1.dedecms版本 5.7 sp1 GBK
2.服务器:windows 2008 iis7
话不多说,开始!
目标:我们要使原来tags.php?/3qshop/ 变动为/tags/3qshop.html 并且为伪静态,为什么要为伪静态?因为我们的关键词(tags)太多,比真正静态节省空间。
那么我们要做如下工作,记得一步一步来哦!
第1步:
首先找到/include/taglib/tag.lib.php中,在87行找到
$row[‘link’]=$cfg_cmsurl.”/tags?”.urlencode($row[‘keyword’]);
将其修改为:
$row[‘link’]=$cfg_cmsurl.”/tags/”.urlencode($row[‘keyword’]).”.html”;
第2步:
修改分页代码部分
修改include/arc.taglist.class.php,找到分页函数,将其更换为:
注意:从429行 —->541行 用以下内容替换!
(提示:网上有文章中讲的以下代码中的”pageinfo”是错误的,应该为\”pageinfo\”,不然会有错误提示哦!已经代码测试OK!)
function GetPageListDM($list_len,$listitem=”info,index,end,pre,next,pageno”)
{
$prepage=””;
$nextpage=””;
$prepagenum=$this->PageNo – 1;
$nextpagenum=$this->PageNo + 1;
if($list_len==”” || preg_match(“/[^0-9]/”, $list_len))
{
$list_len=3;
}
$totalpage=$this->TotalPage;
if($totalpage <=1 && $this->TotalResult > 0)
{
return “共1页/”.$this->TotalResult.”条“;
}
if($this->TotalResult==0)
{
return “共0页/”.$this->TotalResult.”条“;
}
$maininfo=”共{$totalpage}页/”.$this->TotalResult.”条rn”;
$purl=$this->GetCurUrl();
$basename=basename($purl);
$tmpname=explode(‘.’, $basename);
$purl=str_replace($basename, ”, $purl).urlencode($this->Tag);
//var_dump($purl);exit;
//$purl .=”?/”.urlencode($this->Tag);
//获得上一页和下一页的链接
if($this->PageNo !=1)
{
$prepage.=”
rn”;
$indexpage=”
rn”;
}
else
{
$indexpage=”
rn”;
}
if($this->PageNo!=$totalpage && $totalpage>1)
{
$nextpage.=”
rn”;
$endpage=”
rn”;
}
else
{
$endpage=”
rn”;
}
//获得数字链接
$listdd=””;
$total_list=$list_len * 2 + 1;
if($this->PageNo >=$total_list)
{
$j=$this->PageNo – $list_len;
$total_list=$this->PageNo + $list_len;
if($total_list > $totalpage)
{
$total_list=$totalpage;
}
}
else
{
$j=1;
if($total_list > $totalpage)
{
$total_list=$totalpage;
}
}
for($j; $j<=$total_list; $j++)
{
if($j==$this->PageNo)
{
$listdd.=”
rn”;
}
else
{
$listdd.=”
rn”;
}
}
$plist=”;
if(preg_match(‘/info/i’, $listitem))
{
$plist .=$maininfo.’ ‘;
}
if(preg_match(‘/index/i’, $listitem))
{
$plist .=$indexpage.’ ‘;
}
if(preg_match(‘/pre/i’, $listitem))
{
$plist .=$prepage.’ ‘;
}
if(preg_match(‘/pageno/i’, $listitem))
{
$plist .=$listdd.’ ‘;
}
if(preg_match(‘/next/i’, $listitem))
{
$plist .=$nextpage.’ ‘;
}
if(preg_match(‘/end/i’, $listitem))
{
$plist .=$endpage.’ ‘;
}
return $plist;
}
第3步:
设置伪静态规则:
把以上内容保存为:web.config 放到网站根目录!
第4步:
生成文章,浏览!大功告成?错,有可能你会出现以下错误!
系统无此标签,可能已经移除!
你还可以尝试通过搜索程序去搜索这个关键字:前往搜索>>
如果你的浏览器没反应,请点击这里…
解决办法如下:
在网站根目录下找到tags.php 此文件,将以下代码替换掉:
$tag=trim($_SERVER[‘QUERY_STRING’]);
换成
$tag=strtolower(trim($_SERVER[‘QUERY_STRING’]));
出现这个问题的原因是IIS伪静态中文转码为UTF8,解决方法就是在tags.php中加入判断UTF8编码的语句,如果是则转换为GBK,这样就可以解决了
方法:
1.把以下代码加入到根目录下tags.php中的18行下面,也就是if(isset($tags[2])) $PageNo=intval($tags[2]);下面哦:
function is_utf8($tag)
{
if (preg_match(“/^([“.chr(228).”-“.chr(233).”]{1}[“.chr(128).”-“.chr(191).”]{1}[“.chr(128).”-“.chr(191).”]{1}){1}/”,$tag)==true || preg_match(“/([“.chr(228).”-“.chr(233).”]{1}[“.chr(128).”-“.chr(191).”]{1}[“.chr(128).”-“.chr(191).”]{1}){1}$/”,$tag)==true || preg_match(“/([“.chr(228).”-“.chr(233).”]{1}[“.chr(128).”-“.chr(191).”]{1}[“.chr(128).”-“.chr(191).”]{1}){2,}/”,$tag)==true)
{
return true;
}
else
{
return false;
}
}
2.在第25行上面加入以下语句,也就是在$tag=FilterSearch(urldecode($tag));上面加入,记得这里是上面哦!
if(is_utf8($tag)==1) { $tag=iconv(“utf-8″,”gbk”,$tag); }
这个作用就是调用上面的函数判断编码 如果是 utf8则转为gbk;
到此,tags伪静态问题全面完美解决!
用dedecms做了一个站,换服务器后,发现后台登录不了,显示一片空白,在网上找了些方法如:
找到:include/common.inc.php文件,打开,查找程序代码:
//error_reporting(E_ALL);
error_reporting(E_ALL || ~E_NOTICE);
替换为:
error_reporting(E_ALL);
//error_reporting(E_ALL || ~E_NOTICE);
但是不起作用,后台还是一片空白,也没有提示错误。
在一步一步排查下 发现include/common.inc.php文件中 含有
define(‘PINGRPC2’, 1);
include_once DEDEINC.’/ping.RPC2.php’;
原来是我在网站上加有ping插件惹的问题,注释掉后,网站正常了!
生成静态的时候,经常会遇到“模板文件不存在,无法解析文 档!”的问题。很多朋友试过论坛里很多方法,都是针对某些人可以解决,某些人的问题依旧,为什么呢?其实问题很可能确实是多种多样的,表现结果却是一样, 所以,问题的原因就不好找了。下面介绍一个方法方便定位错误的地方:s200.CN
直接去Include文件夹里搜索“模板文件不存在,无法解析文档”这串字符。找到以下五个文件:
arc.archives.class.php
arc.listview.class.php
arc.sglistview.class.php
arc.specview.class.php
arc.taglist.class.php
(1)如果是生成栏目时提示这个错,那么在arc.listview.class.php中
echo “模板文件不存在,无法解析文档!”;
修改成:echo “模板文件不存在,无法解析文档!.$tempfile” ;
这样,就能在生成静态文件的时候,确切的知道是哪个文档或者模板文件出错了:
(2)如果是生成文档页面出现这个错误提示,打开arc.archives.class.php这个文件,找到第484行。
修改一下报错的代码:echo “模板文件不存在,无法解析文档!”; Dedecms5.6使用教程 -js200.CN
修改成:echo “模板文件不存在,无法解析文档!” .$this->ArcID ;
这样可以返回第一个错误的文章的ID,于是,再生成时我得到了这个文章ID,打开这个文章编辑,发现这篇文章居然没有设置分类,应该是采集入库的时候没有设置分类,设置文档栏目后问题解决!
今天更新网站时dedecms系统时,遇到一个问题:DedeTag Engine Create File False 出现这样的提示。
其实这也不算是什么错误,我个人觉得最重要的一点就是根目录下没有给写权限。当然,我用的是Linux系统。我直接给了777权限之后就可以了。
第一种情况:站点、文件夹权限不足造成无法建立文件
这种情况的出现,一方面可能是Apache设置的读写权限较严格,另一方面原因可能是使用者通过服务器或FTP对一些文件夹设置了错误的读写权限造成。这时候,只需修改网站根目录或相关栏目的目录上修改权限为755即可解决。
解决办法:
第一步、定位出错的文件,即查找生成什么文件时出的问题。
方法:修改 include/dedetag.class.php文件,搜索”DedeTag Engine Create File False“,会找到以下代码
$fp=@fopen($filename,”w”) or die(“DedeTag Engine Create File False”);
修改成
$fp=@fopen($filename,”w”) or die(“DedeTag Engine Create File False:$filename”);
重新生成栏目或者文档时,即可提示当前文件信息。
第二步、检查是否有写入权限,windows服务器请给予写入权限,linux服务器请给予777权限。如果目录或者文件不存在,请手工建立。
常见的错误情况有:data目录没有写入权限,html静态文件目录没有写入权限,index.html首页静态文件没有写入权限。
此时在进行生成栏目或者页面HTML操作,即可顺利进行。
第二种情况:列表、频道、文章等命名规则未填写或填写错误
此种情况较为少见,因为初级用户一般不会去修改这些东西,情况可以大致分为:
命名规则未填写(即为空)
解决方法:只需填好相应的规则即可,重新选择栏目类型,也可以快速自动填写。
命名规则中含有非法字符
解决方法:将非法字符替换或删除。
命名规则设置错误
例如:命名列表页为{typedir}/{tid}.html,这种命名方式对列表只有一页的栏目是正常的,如果列表是两页或两页以上时,由于进程冲突,生成栏目就会出现 DedeTag Engine Create File False 的提示。
解决方法:此时只需要增加{page}变量到名称中即可解决问题。
生成文件的层次不对
例如设置列表文件要在列表{typedir}目录下,不能向下再有目录比如:{typedir}/list{tid}{page}.html是对的,可以生成但是如果设置为 {typedir}/list/{tid}{page}.html这样将会出错
第三种情况:发布文章后将栏目改为了“外部链接”类型
在某个栏目里发了几篇文章,后来把这个栏目改成外连接了,更新文档时,系统还会更新这个栏目下的那几篇文章,但地址是外连接,所以无法生成文件,由此产生DedeTag Engine Create File False提示
解决方法:把栏目改回的目录,把文章删除,再改回外部链接类型。
默认织梦的首页没有设置高亮属性,只要其他栏目可以。以下代码可以解决这个问题:
复制代码
(@me==””)? @me=” class=’hover'”:@me=””;{/dede:field}> 主页
{dede:channel type=’top’ row=’10’ currentstyle=”
“}
{/dede:channel}
以上蓝色加粗的代码就是判断当前栏目是否是首页,如果是首页则加上class=’hover’,否则就不加,以此来达到想要的效果。
论坛上很多人都反馈说在后台添加新变量的时候会出现 “Request var not allow!” 的BUG错误,本文主要就是介绍如何去解决这个问题!下面看具体操纵:
在DEDE根目录打开 include/common.inc.php 文件,查找到以下内容:
//检查和注册外部提交的变量
复制代码
function CheckRequest(&$val) {
if (is_array($val)) {
foreach ($val as $_k=>$_v) {
CheckRequest($_k);
CheckRequest($val[$_k]);
}
} else
{
if( strlen($val)>0 && preg_match(‘#^(cfg_|GLOBALS)#’,$val) )
{
exit(‘Request var not allow!’);
}
}
}
将以上内容替换成以下内容:
//检查和注册外部提交的变量
复制代码
function CheckRequest(&$val) {
if (is_array($val)) {
foreach ($val as $_k=>$_v) {
if($_k==’nvarname’) continue;
CheckRequest($_k);
CheckRequest($val[$_k]);
}
} else
{
if( strlen($val)>0 && preg_match(‘#^(cfg_|GLOBALS)#’,$val) )
{
exit(‘Request var not allow!’);
}
}
}
修改完了之后保存,再去后台试试添加新变量。
本文详细分析了DEDECMS后台无法登陆并跳转回登陆界面的解决方法。分享给大家供大家参考。具体方法如下:
一、问题:
网站已经运行了很久,前些天突然在登陆的时候提示密码不正确,而且不管怎么试,都是无法登陆.
二、解决方法:
于是在网上找来了重置密码的脚本,几经测试,终于重置了密码.之前出现过验证码出错的问题,关闭了验证码功能.于是在万分高兴开始登陆的时候发现,每次登陆都卡在这里,然后跳回登陆界面.
地址为:login.php?gotopage=/dede/index.php
在登陆界面输入账号密码后会有3-5秒的卡顿才会进入下面的页面,然后再卡顿3-5秒就跳回登陆界面.
对此,列出几点供大家参考:
1、修改DATA和sessions的目录属性为可写,即(777).
2、清空sessions内除index.html以外的所有文件.
3、清除IE缓存:更换浏览器,火狐,谷歌.
4、在include/config.base.php里修改参数.
5.最重要的一个原因,当你网站空间不够用或不足时,会有此种现象,便当虚拟主机后台检查下还有多少剩于空间可用吧!
希望本文所述对大家的dedecms网站建设有所帮助。
不知道用dedeCMS的问答系统的朋友们有木有遇到”问题管理”和”答案管理”出现404页面的情况,如果你的服务器是linux系统,估计都遇到过的。大家都知道linux系统对大小写是非常敏感的,不想win系统不区分。
好吧废话少说,解决问题重要。
问题的原因是ask\control\admin\answer.PHP和ask\control\admin\asktype.php这2个文件中有一行$this->lurd=new lurd,调用include/lurd.class.php文件。lurd 是小写,lurd.class.php是大写写,导致文件无法找到。
解决办法:先确认并修改ask\control\admin\answer.php和ask\control\admin\asktype.php这2个文件中的$this->lurd=new lurd均为大写就行了。
如果服务器上禁用了fsockopen函数,则无法使用保存远程图片到本地的功能,只需要替换一下函数就可以了。
找到/include/dedehttpdown.class.PHP 第507行
复制代码
$this->m_fp=@fsockopen($this->m_host, $this->m_port, $errno, $errstr,10);
替换为
复制代码
$this->m_fp=@stream_socket_client($this->m_host . ‘:’ . $this->m_port, $errno, $errstr,10);
由于DEDECMS对系统安全做的比较好,即使在后台开放了匿名投稿前台也无法匿名投稿,所以要匿名投稿需要修改一些代码。
打开member/soft_add.PHP找到
//考虑安全原因不管是否开启游客投稿功能,都不允许用户投稿
复制代码
CheckRank(0,0);
if($cfg_mb_lit==’Y’)
{
ShowMsg(“由于系统开启了精简版会员空间,你访问的功能不可用!”,”-1″);
exit();
}
注释掉以上代码即可实现匿名软件投稿
织梦dede后台采集数据库批量替换安全确认码不显示完美解决方法如下。
dede后台安全验证码不显示
给你快捷的方法,ftp中找到在后台目录文件夹中找到sys_data_replace.php文件,搜索以下代码(大概在45行左右),按下面注释掉即可
//if($validate==”” || $validate !=$svali)
//{
// ShowMsg(“安全确认码不正确!”, “javascript:;”);
// exit();
// }
这样即可完美解决,dede后台采集数据库内容批量替换,验证码就不用填写,直接可以开始替换数据。
大家在更新栏目或者文档的时候 经常碰到“dedecms模板文件不存在 无法解析文档”,出现这个问题,一般是你的模板没有选对导致的。
如何了解自己的模板情况呢:
1、可以通过模板的命名来大概区别,不同的设计师对模板的命名有差别,比如默认的织梦模板列表模板是list_article.htm 图集模板是list_image.htm ,对模板标签比较了解的,也可以打开模板查看下标签的写法就大概明白了。如果无法判断就尝试用方法2.
2、方法1还是无法找到正确的模板,可以通过一个一个模板的更换尝试,这样比较浪费点时间,不对才菜鸟来说,是最好的办法了。
模板的选择主要是列表模板、文章模板,如下图:
温馨提示:大家最好去了解下织梦模板的常规命名名称,也许对您有帮助,不同织梦模板制作者对命名略不同。
织梦系统我一直都是在用utf8版的,最近看重一个模板,就买了,可是上传到服务器发现系统基本设置下面不能保存中文,网上没找到很好的方法,自己看了一下,发现是网站编码的问题,我utf8的织梦在php5.4下就没问题,所以,要给表单中的字符转码。
后台-系统基本参数无法保存中文 修改方法:
dede\templets\sys_info.htm里面搜索
htmlspecialchars($row[‘value’])
替换成
htmlspecialchars($row[‘value’],ENT_COMPAT ,’GB2312′)
如果发现还有其他页面,也没办法保存中文,最好在dreamweaver下整站搜索htmlspecialchars($row[‘value’]),然后批量替换成htmlspecialchars($row[‘value’],ENT_COMPAT ,’GB2312′),这样就能保证系统的表单没问题。
但是这个修改的方法,对编辑器中的中文没办法,还要修改编辑器,方法为:
include/ckeditor/ckeditor_php5.php文件
找到代码
$out=“\n”;
改成:
$out=“\n”;
还有标签也不显示,修改方法为:
1、dede/article_add.php 和 dede/article_edit.php将
$title=htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title=htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,’GB2312’);
这些都没问题后,发现 核心-批量维护-tag标签管理里面的中文标签全部都不显示了,真是麻烦,修改方法:
打开/dede/templets/tags_main.htm
找到:
$fields[‘tag’]=htmlspecialchars($fields[‘tag’]);
替换为
$fields[‘tag’]=htmlspecialchars($fields[‘tag’],ENT_COMPAT ,’GB2312′);
这样修改,tag标签就显示了。
这样一修改,在php5.4下的gbk版织梦就不会出现编码的问题了。
站长用织梦做站时常常发现织梦自由列表有个致命的问题:
即修改“不使用目录默认主页”就永远不会自己勾选啦
打开这个文件 makehtml_freelist_action.php
搜索下面代码,也在最后一行
$dsql->ExecuteNoneQuery(“Update `dede_freelist` set nodefault=’1′ where aid=’$startid’;”);
修改成
$dsql->ExecuteNoneQuery(“Update `dede_freelist` set nodefault=’0′ where aid=’$startid’;”);
下面这个教程是错误的
打开dede\templets \freelist_add.htm找到113行,把value=”1″改为value=”0″。
再打开dede\templets \freelist_edit.htm找到89行,把value=”1″改为value=”0″。
这样“不使用目录默认主页”就永远不会自己勾选啦。
今天发布图片集时,上传图片提示FILEID:X错误,缩略图显示为红色Error,前几天还正常的,可以确定是这几天修改了系统文件造成的,dede图集后台上传图片报错,提示红色FILEID错误的处理办法。
dedecms图集后台上传图片报错处理
仔细检查是UTF-8版本BOM格式造成的,检查dedecms系统文件include/common.inc.php和/data/common.inc.php的文件格式,用dreamweaver打开以上文件检查,ctrl+j打开编码查看,去掉上图中红框里“包括unicode签名bom”前面的勾,保存,替换原来文件,问题解决。
UTF-8编码的朋友,注意将格式调整为UTF-8 无 BOM格式,GBK编码的朋友,注意将格式调整为ANSI(使用NotePad++,菜单栏有一格式菜单,打开即可调整文件格式,当然也可以选择DW,Editeplus 云云)
网上看到很多朋友遇到使用织梦程序一段时间后,发现上传图集时候老是失败,提示提示FILEID:X错误,缩略图显示为红色Error下面截图错误:
这问题今天也让我头疼了半天,好好的怎么就出现这问题了,我最近好像没修改过啥文件了,最后找资料整理出了解决办法,分享给遇到该问题的朋友:分两步:
第一步:查看一下你的include/common.inc.php 的文件格式UTF-8编码的朋友,注意将格式调整为UTF-8 无BOM格式,GBK编码的朋友,注意将格式调整为ANSI(使用NotePad++,菜单栏有一格式菜单,打开即可调整文件格式,当然也可以选择DW,Editeplus 云云)
第二步:给大家提供一个缩略图修复文件,保存为a.php,放在网站根目录访问下就可以了。
代码(红色部分)如下:
//remove the utf-8 boms
//by magicbug at gmail dot com
if (isset($_GET[‘dir’])){ //config the basedir
$basedir=$_GET[‘dir’];
}else{
$basedir=’.’;
}
$auto=1;
checkdir($basedir);
function checkdir($basedir){
if ($dh=opendir($basedir)) {
while (($file=readdir($dh)) !==false) {
if ($file !=’.’ && $file !=’..’){
if (!is_dir($basedir.”/”.$file)) {
echo “filename: $basedir/$file “;
echo checkBOM(“$basedir/$file”).”
”;
}else{
$dirname=$basedir.”/”.$file;
checkdir($dirname);
}
}
}
closedir($dh);
}
}
function checkBOM ($filename) {
global $auto;
$contents=file_get_contents($filename);
$charset[1]=substr($contents, 0, 1);
$charset[2]=substr($contents, 1, 1);
$charset[3]=substr($contents, 2, 1);
if (ord($charset[1])==239 && ord($charset[2])==187 && ord($charset[3])==191) {
if ($auto==1) {
$rest=substr($contents, 3);
rewrite ($filename, $rest);
return (“BOM found, automatically removed.“);
} else {
return (“BOM found.“);
}
}
else return (“BOM Not Found.”);
}
function rewrite ($filename, $data) {
$filenum=fopen($filename, “w”);
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>
将代码另存为.php,放在网站根目录下运行该文件就可以了。
运行完毕后刷新后台,上传图片,就成功了!
运行后记得更新下缓存:
☉首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制(了解更多)
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(330921598)进行交流。
前两天,在更新网站,发布文章上传图片的时候,遇到Upload filetype not allow !图片上传出错的情况!相信接触织梦程序的朋友几乎都会遇到这种情况吧!遇到dede织梦上传图片显示“Upload filetype not allow !”出错的情况改怎么办?要如何处理呢?
下面乐晨针对自己解决的方法向刚接触织梦dedecms的新手朋友讲解一下,解决方法如下
第一步:找到根目录“include”这个文件夹,点击进去
第二步:找到“include”这个文件下的“uploadsafe.inc.php”文件,点击打开
第三步:在打开“uploadsafe.inc.php”文件的大概第45行:找到$imtypes=array,并将其改为$imgtypes=array
最后一步:把更改好的uploadsafe.inc.php文件上传到“include”这个文件下就可以解决了!