以header.php头文件为例剖析一套CMS文件结构

2025-04-29 00:58:18

1、首先,我已将网站文件htdocs下的所有文件都已下载到本地,便于随时查看和更改。简介中配图是该网站的头部,找到文件中的_header.php文件。

以header.php头文件为例剖析一套CMS文件结构

2、用notepad++编辑器打开_header.php文件如下。如图即头部文件的一部分。很显然箭头所指的几个地方调用了一个函数,实现某些功能,这邗锒凳审个名为acbyclassid的函数一般放置在func.php这个文件中,我们一起去找一找。结果没有。

以header.php头文件为例剖析一套CMS文件结构

3、一般_header.php文件会被所有页面请求调用require,我们去首页index.php看看这个页面调用了什么文件。如下,_inc.php文件。

以header.php头文件为例剖析一套CMS文件结构

4、这样我们再去看_inc.php文件,找找看有没有acbyclassid函数在,果不其然在这里。

以header.php头文件为例剖析一套CMS文件结构

5、下面研究一下这个函数干嘛用的。function acbyclassid($a,$b){ $data="";(定义一个字符串变量赋值为空) $classid=$镟搞赃呓GLOBALS['db']->v("my_cata|classid|classid='$b'");(经研究这是一个全局类,v()函数的意思是对双引号中的内容按'|'进行切割,my_cata是数据库表名,classid是栏目的id字段名,这个语句的意思是定义一个字符串并将v()函数切割后的classid值返回给classid这个变量) if($GLOBALS['cfg_html'])(这个是判断一个存储.html文件布尔值的全局变量) { $data="$a-$classid.html";(如果是则将传递来的a值替换掉,classid值也替换为上面的赋值) } else { $data="$a.php?classid=$classid";(如果判断非.html文件则采用这种动态链接形式) } $url=$GLOBALS['db']->v("my_cata|url|classid='$b'")."";(这句的意思是将my_cata里的url赋值给$url变量) if($url!="")(判断是否为空) { $data=$url;(赋值给$data变量) } echo $data;(输出$data值)}这样就解释清楚了,实际上这个函数的作用就是判断后形成一个可用的url链接的。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢