对于织梦的后台有时候出现验证码不显示问题
找到include 下面的 vdimgck.php 找到if(function_exists(“imagejpeg”))
在前面加上ob_clean();问题解决 , 这个问题很奇怪,,有时候不加也没问题,当然我的是运行有问题了加上就没事,,之前没事,突然就不行了。
具体代码
ob_clean();
if(function_exists(“imagejpeg”))
{
header(“content-type:image/jpeg\r\n”);
imagejpeg($im);
}
else
{
header(“content-type:image/png\r\n”);
imagepng($im);
}
今天碰到个空间,GD库支持freetype什么的也支持,就是无法显示验证码
让我摸不着头脑
然后我把验证图片保存下来,发现图片源码(直接用editplus打开图片文件)的头部多了两行回车,所以导致无法以图片显示
找了一下找到上面的解决办法
阅读全文
今天不知道什么原因断网了~想起以前下个个插件没研究,于是想研究一下
打开本地的PW8.7才发现我原来使用的是云验证,现在连不上网没办法登陆
于是发灰我的聪明才智,我知道配置里面可以改这个配置为本地生成验证码
于是查看了一下源代码
<inputid=”gdcode”class=”input”style=””onFocus=”showgd();”name=”gdcode”value=”” />
明显验证码是和gdcode有关
剩下就简单多了
data\bbscache\config.php
搜索这个词,找到$db_cloudgdcode=’1′;
修改为$db_cloudgdcode=’0′;就是本地验证了
然后我又想起这个文件可能是由数据库里读取出来生成的缓存
于是搜索数据库
找到pw_config里面有个参数db_cloudgdcode的db_value修改为0就可以了
同理
$db_gdcheck=’0′;就是关闭所有验证码
$db_ckquestion=’0′;就是关闭所有验证问题
阅读全文
全文搜索其实是很占服务器资源的,据说帖子一上10W,一搜索服务器就当机,所以DZ开发了很多全文搜索的技术,比如用 Sphinx,比如站外搜索
但是有些小站如果要配置一个 Sphinx就很麻烦了,用站外搜索总是有时间差,就是等对方收录了你的帖子你才能搜索出来
所以对于小站来说,用用MYSQL直接搜索也是可以的,毕竟帖子不多
我发现DZ默认只能管理员全文搜索,而且还得到后台去设置
在后台-用户-管理组-管理员-基本设置里面可以开启“允许全文搜索”
在前台搜索的时候还得切换到高级搜索模式,把“全文”打上勾
而我的想法是让游客也可以全文搜索
/bbs/search.php?mod=forum&adv=yes&srchtxt=%B7%BD%B7%A8
这个是搜索路径
找到search.php文件,打开后发现是调用了
require DISCUZ_ROOT.’./source/module/search/search_’.$mod.’.php’;
其实就是\bbs\source\module\search\search_forum.php文件
打开后发现这个东西
$srchtype != ‘title’ && $srchtype != ‘fulltext’
也就是搜索有两种模式,一种标题,一种全文
下面还有几行
if($_G[‘group’][‘allowsearch’] & 32 && $srchtype == ‘fulltext’) {
periodscheck(‘searchbanperiods’);
} elseif($srchtype != ‘title’) {
$srchtype = ‘title’;
}
是和等级有关的,不允许全文搜索的等级全是用标题搜索
剩下的解决办法就很简单了,把这段代码去掉
后面添加个
$srchtype=’fulltext’;
不管三七二十一,全用全文搜索
测试通过~~~~~~~
阅读全文
css替换图片网址
\(["]?[ ]*([^\=)\;]*)\/([^\/]*)\.(jpg|png|gif)[ ]*["]?\)
替换
(\2.\3)
就可以直接替换成xxx.jpg的格式
阅读全文
首先我找到了74行$threadBehavior = getThreadFactory($cyid, $search, $topicsearch);
发现这个函数是根据传入的参数生成一个类名,比如图库帖子就是imgThread,普通帖子就是commonThread,并对他实例化
在1001行发现了这个类class imgThread extends baseThread {扩展自基本帖子类
然后大刀阔斧地修改把
因为我的帖子全是采集的,图片也全是外链的,所以我的想法是:直接读取帖子的第一张图片作为图库贴的封面图片
所以就做了下面的修改
class imgThread extends baseThread {
function getThreadCount() {
//return $this->db->get_value('SELECT COUNT(*) AS count FROM pw_threads_img WHERE fid=' . S::sqlEscape($this->fid) . ' AND ifcheck=1');
return $this->db->get_value('SELECT COUNT(*) AS count FROM pw_threads WHERE fid=' . S::sqlEscape($this->fid) . ' AND ifcheck=1');
}
function getThread($start, $allowtop) {
list($offset, $limit2, $tpcdb, $R) = $this->getThreadSortWithToppedThread(true, $start);
//$query = $this->db->query("SELECT t.*,ti.cover,ti.totalnum,ti.collectnum,ti.ifthumb FROM pw_threads_img ti LEFT JOIN pw_threads t ON ti.tid=t.tid WHERE ti.fid=" . S::sqlEscape($this->fid) . " AND ti.ifcheck=1 AND ti.topped=0 ORDER BY {$this->threadSearch->order} {$this->threadSearch->asc} " . S::sqlLimit($offset, $limit2));
$query = $this->db->query("SELECT t.*,m.content FROM pw_threads t left join pw_tmsgs m on t.tid=m.tid WHERE t.fid=" . S::sqlEscape($this->fid) . " AND t.ifcheck=1 AND t.topped=0 ORDER BY t.tid {$this->threadSearch->asc} " . S::sqlLimit($offset, $limit2));//获取帖子内容
while ($thread = $this->db->fetch_array($query)) {
preg_match_all("/<img.*src\s*=\s*[\"|\']?\s*([^>\"\'\s]*)/i", $thread['content'], $matches);//匹配图片
$thread['cover']=$matches[1][0];//把图片网址赋值给数组
$tpcdb[] = $thread;
}
$this->db->free_result($query);
$R && $tpcdb = array_reverse($tpcdb);
return $this->parseThread($tpcdb);
}
function setWhere() {
global $search,$type;
$this->threadSearch->setType($type);
$this->threadSearch->setImg($search);
$this->threadSearch->setOrder();
}
function getThreadSortWithToppedThread($allowtop, $start) {
global $count;
$R = 0;
$tpcdb = array();
$asc = $this->threadSearch->asc;
if ($allowtop) {
global $foruminfo,$db_perpage;
$toptids = trim($foruminfo['topthreads'], ',');
//$rows = !$toptids ? 0 : (int)$this->db->get_value("SELECT COUNT(*) FROM pw_threads_img WHERE tid IN($toptids) LIMIT 1");;
$rows = !$toptids ? 0 : (int)$this->db->get_value("SELECT COUNT(*) FROM pw_threads WHERE tid IN($toptids) LIMIT 1");;
if ($start < $rows) {
$L = (int)min($rows – $start, $db_perpage);
$limit = S::sqlLimit($start,$L);
$offset = 0;
$limit2 = $L == $db_perpage ? '' : $db_perpage – $L;
if ($toptids) {
$query = $this->db->query("SELECT * FROM pw_threads WHERE tid IN($toptids) ORDER BY topped DESC,tid DESC $limit");
while ($rt = $this->db->fetch_array($query)) {
$tpcdb[] = $rt;
}
$this->db->free_result($query);
}
unset($toptids,$L,$limit);
} else {
list($offset,$limit2,$asc,$R) = getstart($start – $rows, $asc, $count);
}
} else {
list($offset,$limit2,$asc,$R) = getstart($start, $asc, $count);
}
$this->threadSearch->asc = $asc;
return array($offset, $limit2, $tpcdb, $R);
}
}
然后发现图库贴的封面图是经过模板处理的,把处理步骤去掉,直接用原图网址
打开模板\template\wind\thread_maintucool.htm
大概72行去掉处理
$attachImg =$thread['cover']; //$attachsService->getThreadAttachMini($thread['cover'],$thread['ifthumb']);
顺便把图库的图片统计也去掉了
<span class="imgNum" title="共有{$thread[totalnum]}张图片" style="display:none; ">{$thread[totalnum]}</span>
OK了~
当然,有一些不完美的地方,比如不能乱分表了,不然会出错,不过我的是小站,一般不分
发现个比较好的地方,如果外链图片失效,一下子就可以找到那个帖子了
修改后的例子:http://www.netroquality.com/thread-htm-fid-5-search-img.html#tabA
阅读全文
也就是在栏目那里{dede:field.content/}调用栏目内容的时候无法正确显示
其实很简单的
找到include\arc.listview.class.php
大概560行有函数 function ParseTempletsFirst()
下面添加处理
if( $GLOBALS['cfg_multi_site'] == 'Y')
{
$this->Fields['content'] = str_replace('src="/uploads/','src="'.$GLOBALS['cfg_mainsite'].'/uploads/',$this->Fields['content']);
}
就可以了
阅读全文
只针对普通文章
我的想法是显示的时候把图片网址改成绝对网址,也就是图片网址前加个主站的网址就行了
打开include\arc.archives.class.php
找到680多行的function ParseDMFields函数
在
//解析模板
if(is_array($this->dtp->CTags))
前添加个处理
if( $GLOBALS[‘cfg_multi_site’] == ‘Y’)
{
$this->Fields[‘body’] = str_replace(‘src=”/uploads/’,’src=”‘.$GLOBALS[‘cfg_mainsite’].’/uploads/’,$this->Fields[‘body’]);
}
也就是把body的内容里的/uploads/替换一下,加个主站网址
阅读全文
做了几个站都是直接采集英文站,然后用工具直接伪原创
没有进一步处理,估计可读性太差
一段时间后发现效果确实不太好
每天访客很少
看来以后要改变一下
搜索了一下文章来源
有人做出了一些建议
一、添加英文站内容时先用者Google搜索一下标题,看是否有和自己标题完全匹配的搜索结果,如果有就做些更改标题。文章内容的开头和结尾加以少许更改,一篇原创的文章就出来了。
二、利用翻译工具。很简单,翻译软件翻译中文内容,最好找关键词密度大的中文内容,造成的原因可能是别人都看不懂,但是可以做些修改,绝对原创。
三、搜索几篇相近的英文内容,拼凑在一起,同样是篇绝对原创内容。
据大多数的英文站长所说,一个站能保持30%以上的原创内容加上不断的更新就很容易得到较好的排名了,尤其是谷歌和Yahoo.
看来以后得手工更新了
阅读全文
今天给客户弄模板,发现友情连接不能使用底层模板了
主要是这几个不能用了[field:webname/][field:url/][field:logo/]
对于套用别的定义好的LOGO样式的时候非常不方便
于是只好查看了一下源码\include\taglib\flink.lib.php
发现替换的函数竟然有些错误的地方
看来DEDE的开发人员不仔细检查啊
大概116行替换成下面
$rbtext = preg_replace(“/\[field:url([\/\s]{0,})\]/isU”, $dbrow->url, $innertext);
$rbtext = preg_replace(“/\[field:webname([\/\s]{0,})\]/isU”, $dbrow->webname, $rbtext);
$rbtext = preg_replace(“/\[field:logo([\/\s]{0,})\]/isU”, $dbrow->logo, $rbtext);
不解释~
看得懂就看,看不懂好好学学PHP
阅读全文