dedecms源码分析:(1)index.php

 1 <?php
 2 //file_exists()函数检查文件或者目录是否存在,dirname(__FILE__)当前文件所在目录名。
 3 if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
 4 {
 5     header('Location:install/index.php');
 6     exit();
 7 }
 8 //自动生成HTML版
 9 //判断是否有GET['upcache']没有就跳转到301的静态页面去,有就生成静态页。
10 if(isset($_GET['upcache']))
11 {
12     //引入include的配置文件,注意这个是include文件夹的。common.inc.php应该是一个配置
13     //文件但是作用尚未分析,会引入一个常量define('DEDEINC', ereg_replace("[/\\]{1,}", '/', dirname(__FILE__) ) );
14     require_once (dirname(__FILE__) . "/include/common.inc.php");
15     //引入include中arc.partview.calss.php这个文件,从文件名上看应该是模板的类
16     require_once DEDEINC."/arc.partview.class.php";
17     //定义一个全局变量arclistEnv
18     $GLOBALS['_arclistEnv'] = 'index';
19     //调用了$dsql对象的GetOne方法,预计这个已经被实例化的对象是来至,上面两个被引入的方法之一。
20     //另外这个表里面的 #@是前缀,应该是被经过了替换
21     $row = $dsql->GetOne("Select * From `#@__homepageset`");
22     //MfTemplet这个函数对$row['templet']进行了什么操作未知。
23     $row['templet'] = MfTemplet($row['templet']);
24     //实例了一个PartView类 应该来自文件partview.class.php.
25     $pv = new PartView();
26     $pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
27     $pv->SaveToHtml(dirname(__FILE__).'/index.html');
28     //引入文件
29     include(dirname(__FILE__).'/index.html');
30     //结束
31     exit();
32 }
33 else
34 {
35     header('HTTP/1.1 301 Moved Permanently');
36     header('Location:index.html');
37 }
38 /*
39 文件树分析
40 |index.php                                              //总入口文件
41 |data                                                   //未知文件夹(未分析)
42 |    |common.inc.php                                    //记录数据库连接信息
43 |install                                                //程序安装目录 安装后删除(未分析)
44 |    |index.php                                         //安装程序入口(未分析)
45 |include                                                //未知文件夹(未分析)
46 |    |common.inc.php                                    //未知文件(未分析) 
47 |    |arc.partview.class.php                            //未知文件(未分析)                 
48 */
49 ?>
原文地址:https://www.cnblogs.com/saw2012/p/2876261.html