织梦dedecms v5.7水印功能无效的解决方法
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!
今天测试dedecms的水印功能,发现在实际的生产环境中没有效果啦,之前在使用dedecms v5.6的时候,没有该情况,按以下顺序检查相关功能是否已经打开。
登陆网站管理后台,点击系统–>系统设置–>系统基本参数–>附件设置,
找到图集是否使用水印(小图也会受影响)这项,我们选择“是”,
点击系统–>系统设置–>图片水印设置,
看一下DedeCMS系统配置参数 – 图片水印设置中的相应功能是否已经打开,
上传的图片是否使用图片水印功能:开启
采集的图片是否使用图片水印功能:开启
检查选择水印的文件类型是否正确及水印文件是否存在。
以上设置好之后,我们需要打开dede\swfupload.php文件,找到
//WaterImg($cfg_basedir.$fileurl, ‘up’);
把前面的//去掉保存,覆盖原文件,
$fileurl=$filedir.’/’.$filename.$sname;
$rs=copy($FiledataNew, $cfg_basedir.$fileurl);
unlink($FiledataNew);
if(!$rs)
{
echo “ERROR: Copy Uploadfile Error! “;
exit(0);
}
WaterImg($cfg_basedir.$fileurl, ‘up’);
$title=$filename.$sname;
$inquery=”INSERT INTO `dede_uploads`(title,url,mediatype,width,height,playtime,filesize,uptime,mid)
VALUES (‘$title’,’$fileurl’,’$ftype’,’0′,’0′,’0′,'”.filesize($cfg_basedir.$fileurl).”‘,'”.time().”‘,'”.$cuserLogin->getUserID().”‘); “;
if(!empty($arcid))
{
$inquery=”INSERT INTO `dede_uploads`(arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid)
VALUES (‘$arcid’,’$title’,’$fileurl’,’$ftype’,’0′,’0′,’0′,'”.filesize($cfg_basedir.$fileurl).”‘,'”.time().”‘,'”.$cuserLogin->getUserID().”‘); “;
}
测试上传图片水印功能成功!
在使用DedeCMS图集功能做图集的时候我们常常希望上传的图片能够按照图片名字的顺序进行显示,这就关联到程序改动了,修改方为打开dede/album_add.php (默认后台目录为dede,如若更改过,请自行调整),找到:
复制代码
$z=new zip();
$z->ExtractAll($zipfile,$tmpzipdir);
$fm=new FileManagement();
$imgs=array();
$fm->GetMatchFiles($tmpzipdir,”jpg|png|gif”,$imgs);
后面添加如下代码:
复制代码
$tmpimgs=array();
foreach($imgs as $k=>$v){
preg_match_all(“//(\d+)\http://www.dede58.com/a/zhimengjiaocheng/dedefault/”,$v,$kk);
$tmpimgs[$kk[1][0]-1]=$v;
}
ksort($tmpimgs);
$imgs=$tmpimgs;
unset($tmpimgs);
同理修改album_edit.php这个文件,在相同的代码后面添加上面的代码。这样就可以解决按图片名称进行排序了,比如我们要上传的图片名为1.jpg,2.jpg,3.jpg,4.jpg,这样上传的图片就会按照1234顺序显示。
☉首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制(了解更多)
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(330921598)进行交流。
帖出一个DedeCMS栏目搜索代码,有了这个的原形我们在做分类索引的时候就方便多了。
基础代码如下:
复制代码
用DedeCMS软件模型的做的下载站,当转向最终下载页的时候容易被盗链,这样对网站流量受到一定的影响。设置防盗链也是很简单的,找到plus目录里的download.php并在如下代码:
$row=$dsql->GetOne(“Select $vname From `”.$cu->ChannelInfos[‘addtable’].”` where aid=’$aid'”);
在上面增加判断语句
if(!strstr($_SERVER[‘HTTP_REFERER’],$arcurl))
{
echo “
”;
}
意思:不是来自本地网址,就自动跳转到本地网址。通俗的说就是当从别的网站访问你的下载地址后,就自动判断跳转到以下这个下载页面的网址。
默认的多行多列图集列表{dede:productimagelist}使用只能使用[field:text/]和[field:imgsrc/],而没有缩略图的标签,同过一行代码教你如何调用缩略图,优化你的页面载入速度,我们打开include/taglib/productimagelist.lib.php 文件找到如下代码
复制代码
if($ctag->GetName()==”img”)
{
$row=array();
$row[‘imgsrc’]=trim($ctag->GetInnerText());
$row[‘text’]=$ctag->GetAtt(‘text’);
$images[]=$row;
}
我们只需在里面插入$row[‘litpic’]=$ctag->GetAtt(‘ddimg’); 即可解决
复制代码
if($ctag->GetName()==”img”)
{
$row=array();
$row[‘imgsrc’]=trim($ctag->GetInnerText());
$row[‘text’]=$ctag->GetAtt(‘text’);
$row[‘litpic’]=$ctag->GetAtt(‘ddimg’); //得到缩略图
$images[]=$row;
}
这样我们在{productimagelist}中使用[field:litpic/]获取到图片的缩略图,达到优化页面加载速度!
你有没有想为dedecms会员中心改个名字,这里我告诉你修改会员中心的目录名字是非常麻烦的,
直接修改DEDE会员中心目录名字会导至会员注册不了和其它问题。
原来核心写定了DEDE会员目录为member 这时我们修改DEDE核心文件即可!
找到文件位置根目录 “include/common.inc.php” 打开
搜索”DEDEMEMBER” 把右边的member 改成你想要的会员目录
修改后代码
define(‘DEDEMEMBER’, DEDEROOT.’/user’);
搜索”cfg_member_dir”改成你想要的会员目录
修改后的代码
$cfg_member_dir=$cfg_cmspath.’/user’;
到这里DEDECMS会员功能基本正常,但是还有一些连接错误了,因为DEDE会员中心撰写的时候不规范
弄到定死的member 到处都是, 这是我们就需要使用Dreamweav 整站替换了,具体如何使用Dreamweav替换白度一下就知道
手动找也行在 你的会员中心模板里,出现最多的就是memu.php 这个文件
好了 今天的DEDECMS修改会员中心目录就讲到这里,感谢你的观看!
今天发现dedecms专题列表页面里调用的专题列表图片和a标签的title都没有显示,找到模板文件里看了下才发现dede:list标签中title调用的都是[field:fulltitile],由于专题的标题都比较长,所以就做了限制,在文章列表和和其他模型里[field:fulltitile]调用都是没问题的,于是就找到了问题的所在,其实很简单,找到文件,加句代码就解决了。
解决方法:
找到/include/arc.specview.class.php文件,找到
复制代码
$row[“title”]=cn_substr($row[“title”],$titlelen);
在这句代码的上面加上一下代码:
复制代码
$row[“fulltitle”]=$row[“title”];
即可解决,注意,只能加到上边,不能加到下面,否则是没效果的,显示的会是截断后的标题。
站长的dedecms版本是5.7SP1 utf-8,测试通过。
dedecms的商城搞得实在是不怎么地,功能太简单了。对于广大站长来说,如果有用户购买产品,又想立马知道的话,就必须每时每刻的守着自己的网站,真的好累,本站站长也遇到了同样的问题,所以想到了如果有订单,并且支付完成的话,让系统自动发提醒邮件给站长,这样站长就能在干别的事情的同时又知道网站订单的情况了。
本站使用的是支付宝,故只实现了支付宝支付完成发邮件的功能,实现方法:
打开/include/payment/alipay.php
找到:
$this->log_result(“verify_success,订单号:”.$order_sn); //将验证结果存入文件
在其下面加入下面代码,部分代码需要修改:
$mailbody=”;
$mailtitle=”订单号:”.$order_sn.”支付成功!”;
$mailbody .=”这里是提示信息”;
$email=’admin@qq.com’;//改为要接收邮件的邮箱
$cfg_sendmail_bysmtp=’Y’;
$cfg_smtp_server=’smtp.exmail.qq.com’; //qq邮件服务器地址
$cfg_smtp_port=’25’; //端口号,默认为25
$cfg_smtp_usermail=’mail@qq.com’; //发件邮箱地址
$cfg_smtp_user=’风格酷’; //名称
$cfg_webname=’风格酷’; //站名称
$cfg_smtp_password=’password’; //发件邮箱密码
$headers=”From: “.$cfg_smtp_usermail.”\r\nReply-To: “.$cfg_smtp_usermail;
if($cfg_sendmail_bysmtp==’Y’ && !empty($cfg_smtp_server))
{
$mailtype=’TXT’;
require_once(dirname(__FILE__).”/http://www.dede58.com/a/zhimengjiaocheng/mail.class.php”);
$smtp=new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
$smtp->debug=false;
$smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
}
else
{
@mail($email, $mailtitle, $mailbody, $headers);
}
这里只是实现了一个简单的发邮件功能,如需发送更多的内容,当然得需要自己去研究了,既然都能发邮件了。别的还用担心弄不成么?