史上第一强:Discuz!源代码分析系列(1)--./include/common.inc.php(转载)

转自http://www.cnblogs.com/redfox241/admin/www.discuz.net 作者:郭鑫

转载地址:http://www.discuz.net/viewthread.php?tid=611716&highlight=%2B%CA%B7%C9%CF%B5%DA%D2%BB%C7%BF%A3%BADiscuz%21

//定义PHP一些环境
error_reporting(0);
set_magic_quotes_runtime(0);

//设置Discuz开始的时间
$mtime = explode(' ', microtime());
$discuz_starttime = $mtime[1+ $mtime[0];

//定义一些常量
define('SYS_DEBUG', FALSE);
define('IN_DISCUZ', TRUE);
define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7)); //获得绝对目录

//通用性

if(PHP_VERSION < '4.1.0') {
        
$_GET = &$HTTP_GET_VARS;
        
$_POST = &$HTTP_POST_VARS;
        
$_COOKIE = &$HTTP_COOKIE_VARS;
        
$_SERVER = &$HTTP_SERVER_VARS;
        
$_ENV = &$HTTP_ENV_VARS;
        
$_FILES = &$HTTP_POST_FILES;
}

 

 这一段基本上就是设置一下错误报告,把magic_quotes这个sick家伙给关了,然后定一个开始的时间,这样我们在论坛底部看到的Process Time就是通过这个开始的时间和一个结束的时间的差来计算的,然后定义一个IN_DISCUZ为真,这个IN_DISCUZ常量的作用就是在其他inc这样的包含文件中防止被非法引用,一旦没有这个常量的话就出现Access Denied这样的字样然后退出。然后获得Discuz运行的绝对目录。接下来是判断PHP 的版本是4.1 以下还是以上,因为PHP以4.1为一个分界线,在4.1以下以$HTTP_GET_VARS[‘xx’]这样的方式来得到get过来的值,而以后用$_GET来得到get过来的值,这样做的目的是为了无论是什么样的PHP版本,都能用$_GET这样的方式得到,有通用性~!  

require_once DISCUZ_ROOT.'./include/global.func.php';

把include/global.inc.php引用进来,这个文件是Discuz的核心函数文件,包含了Discuz用到的很多通用的函数,可以说它就是一个大的通用函数库。 

原文地址:https://www.cnblogs.com/redfox241/p/1507961.html