zoukankan      html  css  js  c++  java
  • 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 ?>
  • 相关阅读:
    php内存管理机制、垃圾回收机制
    Redis 3.2.1集群搭建
    centos开启IPV6配置方法
    /etc/hosts.allow和/etc/hosts.deny详解
    3元购买微信小程序解决方案一个月
    linux下使用ntfs-3g挂载NTFS出错
    腾讯云微信小程序域名变更指南
    nginx开启gzip压缩
    centos 7使用yum安装docker容器
    linux中启动网卡报错:Bringing up interface eth1: Error: Connection activation failed
  • 原文地址:https://www.cnblogs.com/saw2012/p/2876261.html
Copyright © 2011-2022 走看看