![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
土著人宁巴
了解我的人都知道了,不了解我的人也没必要知道
展开
-
Discuz!开启版块子域名后,系统不支持https://的问题解决
Discuz!版块绑定子域名,默认是http://的,当网站开启了版块子域名,又同时启用了https://,因为https://页面和http://页面直接提交数据,就经常会遇到发帖或者回复无法正常进行的问题。先总结一个简单的方法来解决这个问题:修改文件:source\function\function_core.php找到:function output_replace($content) {在这个函数最后return $content;的上一行加上代码$content=str_repl原创 2021-01-17 15:15:57 · 1685 阅读 · 0 评论 -
Discuz!附件图片、头像图片、相册图片存储规则详解
头像规则用户uid为:80629对应头像地址:http://域名/uc_server/data/avatar/000/08/06/29_avatar_middle.jpg (中等尺寸)头像地址生成规则:$dir=DISCUZ_ROOT.'/uc_server/data/avatar/'.substr($uid,0,3).'/'.substr($uid,3,2).'/'.subs原创 2017-03-27 21:36:08 · 10503 阅读 · 3 评论 -
Dedecms方法 html2wml 设计缺陷,造成wap版超过10张照片的时候丢失
文件路径:include/wap.inc.php缺陷方法:html2wml描述:此方法将html转wml的过程中先将图片缓存起来,待转换完成在替换:1、缓存图片2、还原图片这里注意逻辑问题:当我还原WAP-IMG::1的时候顺带把WAP-IMG::1*、WAP-IMG::1**、WAP-IMG::1***的图片标签都破坏了,WAP-IMG::1至WA原创 2017-03-21 10:20:37 · 2521 阅读 · 0 评论 -
Discuz!积分操作common_credit_log 表中的 operation 缩写的取值对应的含义
common_credit_log 表中的 operation 的取值对应的含义定义如下: 简写 关联id 含义 TRC common_task.taskid 任务奖励积分 RTC原创 2017-03-21 10:23:02 · 4151 阅读 · 0 评论 -
Discuz!插件模板实现DIY的方法
Discuz系统模板里的DIY功能相信使用过该系统的人都非常熟悉了,那么怎么在开发插件的时候再插件的模块里面实现DIY功能呢,本文将介绍具体的实现方法:示例插件:nimba_diypage/nimba_diypage/page.inc.phpnimba_diypage/template/page.htm模板page.htm代码{subtemplate common/原创 2017-03-21 11:32:02 · 7273 阅读 · 0 评论 -
Discuz!让水印平铺的修改方法
修改文件:\source\class\class_image.php修改原理:计算水印大小和图片大小,每次偏移一个水印的位置重复打水印;由于discuz支持png和gif两种水印,因此本方法涉及两处修改:修改1属于支持png水印,修改2属于支持gif水印;修改1:大概第475行原始代码if($this->param['watermarktype'][$type] == 'png原创 2017-03-28 10:17:31 · 5802 阅读 · 0 评论 -
Discuz!修改CC攻击防御机制attackevasive,实现忽略指定ip段和搜索引擎不受影响
在discuz的config/config_global.php配置文件中可以配置attackevasive参数开启CC 攻击防御$_config['security']['attackevasive'] = 0; // CC 攻击防御 1|2|4|8当你的站点发现被CC攻击时,你也可以在config中打开CC攻击防御,该防御有1/2/4/8四种防御方式,每个数字的意义为:0表示关闭此功原创 2017-03-28 10:36:35 · 5679 阅读 · 0 评论 -
Discuz!字符串裁剪函数cutstr介绍
函数定义位置:\source\function\function_core.php函数定义:function cutstr($string, $length, $dot = ' ...') { if(strlen($string) <= $length) { return $string; } $pre = chr(1); $end = chr(1); $string原创 2017-04-07 13:25:09 · 4268 阅读 · 0 评论 -
Discuz!开发之插件页面title、keywords、description等SEO设置
实例插件/test//test/page.inc.php前台访问地址为:http://域名/plugin.php?id=test:page如果当前插件模板里引用频道公共头部,seo相关的title、keywords、description等设置就成了默认的,这样对搜索引擎非常不友好,本篇文章主要介绍怎么在插件中单独设置discuz插件修改title、keywords、descr原创 2017-04-07 14:28:51 · 6874 阅读 · 0 评论 -
Discuz!开发之开启插件开发者模式
打开 config/config_global.php 文件,在文件结尾添加以下代码开启插件设计者模式。$_config['plugindeveloper'] = 1;也可以:$_config['plugindeveloper'] = 2;这里1和2的区别是:1为开启开发者模式,后台可以添加和编辑插件;2除了开启开发者模式之外,前台还好显示插件嵌入点,如下图所示:原创 2017-04-07 15:04:01 · 9392 阅读 · 0 评论 -
阿里云提示 Didcuz memcache+ssrf GETSHELL漏洞修复方法
近期很多使用阿里云的站长收到了阿里云给出的漏洞消息,漏洞名称如下:Discuz memcache+ssrf GETSHELL漏洞这里给大家提供一个简单的修复方案!首先找到这个文件source/function/function_core.php搜索代码:function output_replace($content) { global $_G; if(define原创 2017-04-07 15:52:36 · 2918 阅读 · 0 评论 -
Discuz!积分记录表pre_common_credit_log中operation字段含义一览
Discuz!积分记录存在于表pre_common_credit_log中,表结构为:CREATE TABLE `pre_common_credit_log` ( `logid` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `uid` mediumint(8) unsigned NOT NULL DEFAULT '0', `原创 2017-03-22 11:25:50 · 6918 阅读 · 0 评论 -
Discuz!开发之页面插件嵌入点列表
嵌入(hook),即俗称的钩子,在Discuz!官方帮助中心统一用语为嵌入点。 一、在Discuz!程序的模板中预定义了不少数量的嵌入点,简单点来说作用就是通过插件来控制这些位置显示内容。要查看所有的预定义嵌入点,请打开 config/config_global.php 文件,将文件结尾添加的设计者模式值改成“2”,然后更新缓存即可。在页面源码中查找""可搜索到嵌入点。$_config原创 2017-04-08 07:05:35 · 7492 阅读 · 0 评论 -
Discuz!开发之文件加载路径函数libfile()介绍
定义位置:source\function\function_core.php函数代码function libfile($libname, $folder = '') { $libpath = '/source/'.$folder; if(strstr($libname, '/')) { list($pre, $name) = explode('/', $libname);原创 2017-04-08 07:51:28 · 6211 阅读 · 0 评论 -
Dedecms调用缓存功能方法详解
缓存方法定义地址:\include\helpers\cache.helper.php使用缓存功能必须先调用缓存方法,添加如下代码:helper('cache'); 启动了dede缓存小助手dedecms缓存主要使用了以下三个方法,调用dede缓存函数的添加,读取,删除缓存函数代码如下SetCache($prefix, $key, $value, $timeout = 360原创 2017-03-23 10:00:21 · 5680 阅读 · 0 评论 -
Discuz!论坛搬家或升级之后访问出现Cloud file not exists!解决方法
很多站长在论坛搬家或者升级之后访问论坛出现如下错误原因是搬家或者升级之后插件文件(\source\plugin\)没有拷贝回去,按照标准搬家或升级流程搬家或升级之后应当将附件文件、uc_server中的头像文件、插件文件都拷贝回去;希望本文对大家有帮助,谢谢!原创 2017-03-30 09:24:30 · 9306 阅读 · 0 评论 -
Discuz!图片附件获取缩略图路径makethumbpath以及生成缩略图方法
定义文件:\source\class\helper\helper_attach.php方法定义: public static function makethumbpath($id, $w, $h){ $dw = intval($w); $dh = intval($h); $_daid = sprintf("%09d", $id); $dir1 = subst原创 2017-03-30 09:27:58 · 11293 阅读 · 0 评论 -
Discuz!帖子刷新后阅读数增加随机值的方法
有些站长对于帖子阅读数增长缓慢的状况很不满足,希望能增加的快一些,本文就介绍一种阅读数增加随机值的方法!找到:source/module/forum/forum_viewthread.php文件搜索代码:function viewthread_updateviews($tableid)将function viewthread_updateviews($tableid){原创 2017-04-09 07:58:19 · 5222 阅读 · 0 评论 -
Discuz!开发之模板标签语法学习
一、加载模板使用template()函数显示已存在模板:在Discuz!程序执行中可以通过 include template('模板文件夹/模板名称无后缀');的方式进行解析!template()函数定义于./source/function/function_core.phpDiscuz!模板的解析逻辑定义于./source/class/class_template.php如果原创 2017-04-09 08:13:10 · 7143 阅读 · 0 评论 -
Discuz!开发之字符串处理函数dhtmlspecialchars介绍
dhtmlspecialchars定义于Discuz!核心函数库:\source\function\function_core.php,代码逻辑如下:function dhtmlspecialchars($string, $flags = null) { if(is_array($string)) { foreach($string as $key => $val) { $st原创 2017-04-09 08:23:34 · 4715 阅读 · 0 评论 -
Discuz!开发之消息提示函数showmessage()分析及用法实例
有兴趣的朋友可以查看showmessage函数和dshowmessage函数的定义,相关文件:\source\function\function_core.php\source\function\function_message.phpfunction showmessage($message, $url_forward = '', $values = array(), $extr原创 2017-04-09 08:36:32 · 13518 阅读 · 0 评论 -
Discuz!开发之模板解析与缓存机制
Discuz!模板的解析逻辑定义于./source/class/class_template.php模板缓存存放:所有的模板缓存均被解析成 php 文件存放在 ./data/template 中, 以 “数字_模板标示符组合.tpl.php”形式保存。页面缓存刷新原理:当开发者编辑过模板文件之后, Discuz! 模板解析器会匹配模板 htm 文件与缓存 php 文件的最后修改时间原创 2017-04-09 12:28:17 · 4169 阅读 · 0 评论 -
Discuz开发之function_core常用函数解析
Discuz function_core 常用函数解析,有需要的朋友可以参考下。Discuz!常用函数解析<?php/** * [Discuz!] (C)2001-2099 Comsenz Inc. * This is NOT a freeware, use is subject to license terms * * $Id: function转载 2017-04-09 12:42:37 · 6733 阅读 · 0 评论 -
Discuz开发之主题表pre_forum_thread的displayorder字段含义
Discuz!二次开发和插件开发中经常涉及对主题表的操作,本文就介绍一下pre_forum_thread的displayorder字段含义:displayorder取值范围为:4,3,2,1,0,-1,-2,-3,-4,他们的含义如下:displayorder=4 :多版块置顶功能可让一个主题在任意多个版块 只在指定的板块显示主题需要在后台-内容-主题-板块/群组指定来进行操作原创 2017-04-09 12:53:26 · 4896 阅读 · 0 评论 -
Discuz!开发之全局变量$_G详解
$_G变量是程序的全局变量,为了使得程序更加高效,减少不必要的数据获取,所以程序特将经常需要用到的变量统一,放到$_G变量中,如用户登录信息、后台设置信息、服务器环境信息、客户端CooKies、数据缓存等都存放在G变量里面,在开发插件或者制作模板的时候只需要将G变量打印出来即可获得需要的信息是否在G变量里面。$_G变量在source/class/discuz/discuz_applicatio原创 2017-04-09 13:17:07 · 19485 阅读 · 0 评论 -
Discuz!开发之添加后台菜单和后台页面
在 ./source/admincp/menu/ 目录下创建 menu_mynav.php 文件 在“管理中心-全局”中加一个项目,需要在 menu_mynav.php 中给 $menu['global'] 数组变量,为其添加一个键值。如:$menu['global'][] = array('menu_mynav_mytest', 'mynav_mytest');创建一个语言包文件 ./s原创 2017-04-09 13:23:05 · 5197 阅读 · 0 评论 -
Discuz!开发之私信、提醒信息发送函数sendpm()解析
该函数用于发送短消息(包括私人消息、系统消息、提醒消息等)函数定义于:\source\function\function_core.phpfunction sendpm($toid, $subject, $message, $fromid = '', $replypmid = 0, $isusername = 0, $type = 0) { return helper_pm::sendp原创 2017-04-09 13:50:11 · 5964 阅读 · 2 评论 -
Discuz!中最高在线人数更新和存储机制详解以及如何修改最高在线人数
查看模板文件 \template\default\forum\discuz.htm显示历史最高在线人数的代码为:{lang index_mostonlines} $onlineinfo[0] {lang on} $onlineinfo[1].即 最高记录是 xx 于 YYYY-MM-DD这里在线记录信息存储于数组$onlineinfo那么数组$onlineinfo怎么来原创 2017-03-30 22:13:08 · 5739 阅读 · 0 评论 -
Discuz!出现错误Too many connections解决方法
出现该错误一般是连接数超过了 MySQL 设置的值Too many connections,与 max_connections 和 wait_timeout 都有关系。wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。解决方法:1、虚拟主机用户请联系空间商优化 MySQL 服务器的配置;2、独立主机用户请联系服务器管理员优化 MySQL 服原创 2017-04-10 13:12:10 · 3195 阅读 · 0 评论 -
Discuz!出现Access denied for user: '***@localhost' (Using password: YES)错误解决办法
Access denied for user: '***@localhost' (Using password: YES)错误编号:1045,数据库用户名或密码错误,导致程序没有权限连接 MySQL 数据库。解决方法:1、如果你是虚拟主机用户,请联系空间服务商询问正确的 MySQL 数据库用户名和密码,然后修改论坛根目录下config/config_global.php和config_原创 2017-04-10 13:15:31 · 5495 阅读 · 0 评论 -
Discuz!手机版版块页面主题列表中隔几个主题插入一个广告位的方法
打开模板(以触屏版为例)\template\default\touch\forum\forumdisplay.htm将代码 0}--> {eval continue;} 0 && !$displayorder_thread}--> {eval $displayorder_thread = 1;} {$thread[subject]原创 2017-04-10 13:21:33 · 5599 阅读 · 1 评论 -
Discuz!如何实现为版块设定自定义logo,实现不同的版块不同的logo!
操作之前,我们先看看模板文件中(\template\default\common\header.htm)显示logo的位置的代码:{$_G['style']['boardlogo']}$_G['setting']['navlogos'][$mnid]此处可以看出,除了在菜单项中自定义了logo之外,页面上的logo都是通过$_G['style']['boardlogo']变量输出;从此原创 2017-03-31 15:18:36 · 9109 阅读 · 0 评论 -
DISCUZ!论坛管理员无法登录后台的各种解决方法总结
经常有些站长会反馈网站后台无法登录的问题,在这里分享下Discuz论坛管理员无法登录后台的几种处理方法和解决思路:1、由于验证ip导致后台登录不是默认情况下Discuz!后台会认证登录IP,不允许不同IP地址同时登陆后台,解决方法很简单:在网站根目录,Discuz!配置文件config目录下config_global.php 中找到如下代码:$_config['admincp']['c原创 2017-04-10 15:42:47 · 22062 阅读 · 0 评论 -
Discuz!论坛打开空白问题的排查与解决办法
1、直接输入后台网址http://域名/admin.php看看后台能不能打开;如果后台能打开,而前台无法打开,则可能是模板或者最近安装的插件问题;将模板恢复至默认模板,安装的插件都关闭,看是否解决问题;2、缓存问题。最好重新建立下,将data/cache和data/template下面的文件删除。3、检查网络问题,ping一下域名或者ip,看看服务器是否正常,检查一下w原创 2017-04-10 16:31:53 · 13158 阅读 · 2 评论 -
Discuz!数据库操作DB类和C::t类介绍
类定义文件DB类:文件\source\class\class_core.phpclass DB extends discuz_database {} discuz_database类定义文件\source\class\discuz\discuz_database.phpDB类封装常用方法:DB::table($table) //获取带前缀的表名DB::delete原创 2017-04-01 07:37:28 · 13507 阅读 · 0 评论 -
Discuz!修改注册用户名长度限制的方法
在Discuz!中,系统默认的用户名长度是 3-15字节,但有一些网站可能会因为各种原因需要将用户名长度的限制做一些修改。所以结合之前的一些经验,完成了修改 注册用户名长度 的办法详细如下: 1、修改注册类和用户名检查提示打开 /source/class/class_member.php 文件找到$usernamelen = dstrlen($username);if($us原创 2017-04-01 07:54:46 · 10675 阅读 · 2 评论 -
Discuz!运行日志记录函数runlog详解
在discuz!的\data\log\目录下,我们会看到很多格式如YYYYMM_XX.php的文件(如下图所示),打开文件我们就会看到很多操作日志,这些日志怎么生成的呢,今天我们就来看看Discuz!运行日志记录runlog函数runlog函数定义文件 \source\function\function_core.phpfunction runlog($file, $m原创 2017-04-01 13:30:24 · 11914 阅读 · 0 评论 -
正则表达式介绍,附程序开发常用正则表达式一览表
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。正则表达式的特点是:1. 灵活原创 2017-04-11 09:42:22 · 2953 阅读 · 0 评论 -
Discuz!开发之认识Discuz!的MVC结构
首先,我们先介绍一下MVC开发思想简介,MVC的全名是Model-View-Controller是模型-师徒-控制器的缩写,它是一种软件设计思想。使用一种业务逻辑、数据和显示分离的方法资质代码,实现代码复用的最大化。接下来,我们介绍一下MVC的执行流程,起始点是用户,用户输入数据,把数据交给Controller,Controller主要负责的流程控制,获取GET,POST的值,验证结果等,然后转载 2017-04-11 10:22:28 · 3596 阅读 · 0 评论 -
Discuz!发送邮件sendmail函数使用介绍
方法定义文件 \source\function\function_mail.phpsendmail($toemail, $subject, $message, $from = '')参数说明$toemail:接收邮箱$subject:邮件标题$message:邮件内容$from:邮件发送者,一般留空,默认为discuz后台所配置;使用方法举例:require原创 2017-04-01 13:21:52 · 11103 阅读 · 2 评论