DEDE文章图片自动添加ALT属性

修改文件:Include/ arc.archives.class.php
模板标签:{dede:field.body/} ,如果是其它字段,可以修改$this->Fields[‘body’] 为其它的字段名。
效率说明:使用了正则处理,会降低一些生成速度,如果数据量小,则可以忽略。
修改方法:
首先查找

//设置全局环境变量
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['aid'],$this->Fields['title'],'archives');

在其代码下面填写

//替换图片Alt为文档标题
$this->Fields['body'] = str_ireplace(array('alt=""','alt=\'\''),'',$this->Fields['body']);
$this->Fields['body'] = preg_replace("@ [\s]{0,}alt[\s]{0,}=["'\s]{0,}[\s\S]{0,}["'\s] @isU"," ",$this->Fields['body']);
$this->Fields['body'] = str_ireplace("<img " ,"<img alt='".$this->Fields['title']."' ",$this->Fields['body']);

DedeCms网站换空间,后台不显示,栏目不显示

DedeCms网站换空间,后台不显示,栏目不显示,栏目内容不显示等今天就碰到这个问题了,好奇怪,网上好多人都说是用记事本修改的产生了BOM,用DW就不会产生,有说换下原来的后台的,有说重装的,有说找文件替换的,这几种办法貌似都不可取,重新安装的话很麻烦的,替换文件的话,我修改了好多文件,基本不记得是那个了,到网上找了一个去掉BOM遍历所有文件的PHP源码 ,结果用了一下,网站就好了,后台可以直接进去了,不必用.login.php了,网站栏目点内容也可以进去了,原来都是 空白的,刚开始后台我看可以通过路径进去,就没在意,结果没想到后台栏目里面的内容也出问题了,或许其他人也会碰到栏目不显示也不一定,因为用记事本修改了。分享下解决此问题的源码。

把下面代码保存为0535code.php传到网站FTP,http://网址/0535code.php 运行下就ok了。

<?php
if (isset($_GET['dir'])){ //设置文件目录
$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 ".checkBOM("$basedir/$file")." <br>";
}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 ("<font color=red>BOM found, 已经为你清空了BOM._<a>http://www.0535code.com</a></font>");
} else {
return ("<font color=red>BOM found.</font>");
}
}
else return ("BOM Not Found.");
}
function rewrite ($filename, $data) {
$filenum = fopen($filename, "w");
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>

dede后台打开空白的解决办法

今天下午给客户上传网站,本地数据库和源码是正常的,客户的主机是Linux的,在Linux下是区分大小写的,刚开始传上去,怎么有些访问不了呢,看了一下,原来是大小写问题,Linux安全,但是有点麻烦,然后就是一个大问题,后台打开直接是空白了,到网上查来查去的,说什么的都有,刚开始数据库链接信息还没修改,所以链接不上,厚爱登陆不上是正常的,科斯一会数据库链接配置好了,前台可以浏览了,但是后台依然进不去,一片空白。
纠结的网上查了一下,还是不晓得那里的问题,差一点想深入找一下断点函数,揪出错误的原因,然后看了下Dede后台的页面,想了下,进入www.0535code.com/dede/index.php?试试看,结果还是不行,不过一般的登陆页面命名会是 login,这个也不例外,我就试了一下这个:www.0535code.com/dede/login.php?试一下,可以进去了,而且也可以登陆了,详细问题就不继续说下去了,这样可以剞劂问题了,可以登陆,可以进后台添加修改删除了,这算是个小技巧吧,比较忙,没时间去好好的看,抽时间好好研究研究去,今天关于dede后台打开空白的解决办法就写道这了。

 

PHP获取网站参数

<?php
echo '<br />显示请求的url=http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
echo "<br />域名:".$_SERVER['HTTP_HOST']."<br />";
$filename='http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
print_r(parse_url($filename));//需要得到次函数的参数,就用parse_url函数即可。
echo "<hr />";print_r(basename($filename)); $pathinfo=basename($filename);$pathinfoss=pathinfo($pathinfo);
print_r("文件名:".$pathinfoss['filename']);

/**
PHP获取网站参数_√ ★网痴☆ 编程学习网|电脑编程|网络编程|程序编程|网站编程|软件编程|电脑编程入门|软件编程入门|编程学习网站|SEO营销学习|软件编程学习 http://0535code.com/article.asp?id=521
**/

?>

discuz x2邮箱设置

今天又碰到了一个新系统,需要配置邮箱,之前用discuz配置邮箱一直不好用,到网上查遍了资料,最后在百度知道提问的,说什么的都有,最后还是要我给搞出来了,乱搞搞出来了,以后也知道这个配置应该怎么去配置了,下面在这里分享一下我成功配置的参数。

SMTP 服务器:smtp.exmail.qq.com
端口:25
验证:√
发信人邮件地址:admin@0535code.com
SMTP 身份验证用户名:admin@0535code.com
SMTP 身份验证密码:abc123456(这里写邮箱对应的密码可以啦)
邮件头的分隔符:使用 LF 作为分隔符(通常为 Unix/Linux 主机)
收件人地址中包含用户名:是
屏蔽邮件发送中的全部错误提示:是
依次按照我上面的设置就OK了,其他的系统也一样可以这样配置。discuz x2邮箱设置就这样解决了。
 

discuz!备份顺序笔记

首先关掉伪静态,开启的话,恢复以后就可能不好用了就每个服务器环境不同伪静态规则也不同,需要重新设置;
用phpmyadmin 备份好数据库;
备份好WEB网站源码;
 
导入数据库和上传FTP;
修改config配置里面的2个数据库链接;
config_global.php 和 config_global_default.php
 
这是我整理的,discuz!总是能碰到很多问题,咦,已经备份错一次了,幸亏是新站,现在算是入门了吧。
 

dedecms修改留言板模板实现和其他页面相同的布局

dedecms留言板,问答模块急会员空间模块都不支持dedecms的常用标签,如果用留言板或者问答的话修改起来很不方便,电商圈给大家介绍一种方法可以让这几个模块支持标签,不过是要懂一点PHP的知识修改最好,在修改以前请注意要先备份一下原来的文件,以便修改错误。步骤如下:? 第一步:打开”/include/common.func.php”,该文件5.6版本默认存在,5.5的不存在自己建一个。????? 然后在该文件中加入一个函数,代码如下:

function pasterTempletDiy($path)
{
require_once(DEDEINC."/arc.partview.class.php");
global $cfg_basedir,$cfg_templets_dir;
$tmpfile = $cfg_basedir.$cfg_templets_dir."/".$path;//模版文件的路径
$dtp = new PartView();
$dtp->SetTemplet($tmpfile);
$dtp->Display();
}

第二步,打开留言本的模版文件,默认的是/templets/plus/guestbook.htm用以下代码替换原因的调用头部代码

<?php
pasterTempletDiy("default/head.htm");
?>

调用尾部代码

<?php
pasterTempletDiy("default/foot.htm");
?>

空间和问答的方法都用第二步的方法即可。? 今天在修改搜索页面的时候涉及到调用几个文章点击量排行

制作中发现搜索页面是不支持这些标签的,于是在网上找了些说明文章
以下是解决办法:(测试正常)

include 引入一个文件

形式为:{dede:include file=’文件名称’ ismake=’是否为dede板块模板(yes/no)’/}
对文件的搜索路径为顺序为:绝对路径、include文件夹,CMS安装目录,CMS主模板目录

例如:搜索页面模板加入{dede:include file=’test.htm’ ismake=’yes’/}
dede默认模板路径? 新建一个test.htm文件
文件里面加入

{dede:arclist orderby=’click’? row=’8′ }
<li>[field:textlink/]</li>
{/dede:arclist}

其它不能使用arclist 标签的页面应该是同理可以使用的