首页 php教程 php手册 Uchome1.2 1.5 代码学习 common.php

Uchome1.2 1.5 代码学习 common.php

Jun 13, 2016 pm 12:24 PM
一下 代码 复制 学习 还是

UCHOME的代码还是很不错的,学习一下!

复制代码 代码如下:


/**
* 定义一些常量
*/
@define('IN_UCHOME', TRUE); //据说可以防止文件非法包含
define('X_VER', '1.2'); //Uchome版本
define('X_RELEASE', '20080612');//发布日期
define('D_BUG', '0'); //是否开启调试功能, 0:关闭, 1:开启
//根据是否开启调试功能设置错误报告级别
D_BUG?error_reporting(7):error_reporting(0);
//初始化一些全局变量
$_SGLOBAL = $_SCONFIG = $_SBLOCK = $_TPL = $_SCOOKIE = $space = array();
//定义程序目录常量
define('S_ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);
//获取时间,主要用于输出程序运行时间
$mtime = explode(' ', microtime());
$_SGLOBAL['timestamp'] = $mtime[1];
$_SGLOBAL['supe_starttime'] = $_SGLOBAL['timestamp'] + $mtime[0];
//基本文件,尝试包含基本配置文件,如果包含不成功,则安装程序
if(!@include_once(S_ROOT.'./config.php')) {
header("Location: install/index.php");
exit();
}
//包含公用函数库
include_once(S_ROOT.'./source/function_common.php');
//链接数据库
dbconnect();
//配置文件,尝试包含缓存目录中的网站配置信息,如果不成功,则包含进缓存处理函数库并生成配置缓存
if(!@include_once(S_ROOT.'./data/data_config.php')) {
include_once(S_ROOT.'./source/function_cache.php');
config_cache();
}
//强制使用字符集
if($_SCONFIG['headercharset']) {
@header('Content-Type: text/html; charset='.$_SC['charset']);
}
//GPC过滤,自动转义$_GET,$_POST,$_COOKIE中的特殊字符,防止SQL注入攻击
$magic_quote = get_magic_quotes_gpc();
if(emptyempty($magic_quote)) {
$_GET = saddslashes($_GET);
$_POST = saddslashes($_POST);
}
//COOKIE
$prelength = strlen($_SC['cookiepre']);
foreach($_COOKIE as $key => $val) {
if(substr($key, 0, $prelength) == $_SC['cookiepre']) {
$_SCOOKIE[(substr($key, $prelength))] = emptyempty($magic_quote) ? saddslashes($val) : $val;
}
}
//启用GIP
if ($_SC['gzipcompress'] && function_exists('ob_gzhandler')) {
ob_start('ob_gzhandler');
} else {
ob_start();
}
//初始化
$_SGLOBAL['supe_uid'] = 0;
$_SGLOBAL['supe_username'] = '';
$_SGLOBAL['inajax'] = emptyempty($_GET['inajax'])?0:intval($_GET['inajax']);
$_SGLOBAL['ajaxmenuid'] = emptyempty($_GET['ajaxmenuid'])?'':$_GET['ajaxmenuid'];
$_SGLOBAL['refer'] = emptyempty($_SERVER['HTTP_REFERER'])?'':$_SERVER['HTTP_REFERER'];
//获取用户信息
getuser();
//应用列表
@include_once(S_ROOT.'./data/data_app.php');
if(emptyempty($_SGLOBAL['app'])) {
include_once(S_ROOT.'./source/function_cache.php');
app_cache();
}
?>
/**
* 定义一些常量
*/
@define('IN_UCHOME', TRUE); //据说可以防止文件非法包含
define('X_VER', '1.2'); //Uchome版本
define('X_RELEASE', '20080612');//发布日期
define('D_BUG', '0'); //是否开启调试功能, 0:关闭, 1:开启
//根据是否开启调试功能设置错误报告级别
D_BUG?error_reporting(7):error_reporting(0);
//初始化一些全局变量
$_SGLOBAL = $_SCONFIG = $_SBLOCK = $_TPL = $_SCOOKIE = $space = array();
//定义程序目录常量
define('S_ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);
//获取时间,主要用于输出程序运行时间
$mtime = explode(' ', microtime());
$_SGLOBAL['timestamp'] = $mtime[1];
$_SGLOBAL['supe_starttime'] = $_SGLOBAL['timestamp'] + $mtime[0];
//基本文件,尝试包含基本配置文件,如果包含不成功,则安装程序
if(!@include_once(S_ROOT.'./config.php')) {
header("Location: install/index.php");
exit();
}
//包含公用函数库
include_once(S_ROOT.'./source/function_common.php');
//链接数据库
dbconnect();
//配置文件,尝试包含缓存目录中的网站配置信息,如果不成功,则包含进缓存处理函数库并生成配置缓存
if(!@include_once(S_ROOT.'./data/data_config.php')) {
include_once(S_ROOT.'./source/function_cache.php');
config_cache();
}
//强制使用字符集
if($_SCONFIG['headercharset']) {
@header('Content-Type: text/html; charset='.$_SC['charset']);
}
//GPC过滤,自动转义$_GET,$_POST,$_COOKIE中的特殊字符,防止SQL注入攻击
$magic_quote = get_magic_quotes_gpc();
if(emptyempty($magic_quote)) {
$_GET = saddslashes($_GET);
$_POST = saddslashes($_POST);
}
//COOKIE
$prelength = strlen($_SC['cookiepre']);
foreach($_COOKIE as $key => $val) {
if(substr($key, 0, $prelength) == $_SC['cookiepre']) {
$_SCOOKIE[(substr($key, $prelength))] = emptyempty($magic_quote) ? saddslashes($val) : $val;
}
}
//启用GIP
if ($_SC['gzipcompress'] && function_exists('ob_gzhandler')) {
ob_start('ob_gzhandler');
} else {
ob_start();
}
//初始化
$_SGLOBAL['supe_uid'] = 0;
$_SGLOBAL['supe_username'] = '';
$_SGLOBAL['inajax'] = emptyempty($_GET['inajax'])?0:intval($_GET['inajax']);
$_SGLOBAL['ajaxmenuid'] = emptyempty($_GET['ajaxmenuid'])?'':$_GET['ajaxmenuid'];
$_SGLOBAL['refer'] = emptyempty($_SERVER['HTTP_REFERER'])?'':$_SERVER['HTTP_REFERER'];
//获取用户信息
getuser();
//应用列表
@include_once(S_ROOT.'./data/data_app.php');
if(emptyempty($_SGLOBAL['app'])) {
include_once(S_ROOT.'./source/function_cache.php');
app_cache();
}
?>


下面是1.5版本的common.php

复制代码 代码如下:


/*
[UCenter Home] (C) 2007-2008 Comsenz Inc.
$Id: common.php 10981 2009-01-14 03:05:20Z liguode $
*/
//定义一个常量,用来在其他页面中,防止被恶意用户直接调用其他PHP文件。
@define('IN_UCHOME', TRUE);
//定义一个常量,这个常量表示版本号
define('X_VER', '1.5');
//这个也是一个常量,次版本号
define('X_RELEASE', '20090114');
/*定义程序的调试模式,在我们调试程序的时候将常量值设为1,这样程序出错的时候会在页面显示错误信息。
在调试完毕正常投入使用后设为0,这样程序出错不会显示给用户。
*/
define('D_BUG', '0');
//通过D_BUG常量值指定错误报告类型。其中error_reporting()的参数是错误报告类型,相关参数可查询PHP手册
D_BUG?error_reporting(7):error_reporting(0);
//这下面都是定义的全局变量。具体的会在后面使用的时候一一介绍
$_SGLOBAL = $_SCONFIG = $_SBLOCK = $_TPL = $_SCOOKIE = $_SN = $space = array();
//定义程序目录常量。其中DIRECTORY_SEPARATOR是路径分隔符,linux上就是'/' windows上是'\'
define('S_ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);
//加载基本的配置文件,用了@符号,达到找不到该文件时在页面不提示错误信息
if(!@include_once(S_ROOT.'./config.php')) {
//如果找不到的话则重定向到安装文件
header("Location: install/index.php");
exit();
}
//通用函数文件,具体函数在介绍时间会一一解释
include_once(S_ROOT.'./source/function_common.php');
//时间microtime()获取含毫秒的时间
$mtime = explode(' ', microtime());
$_SGLOBAL['timestamp'] = $mtime[1];
//$mtime[0]为UNIX时间戳(整形), $mtime[0]为毫秒
$_SGLOBAL['supe_starttime'] = $_SGLOBAL['timestamp'] + $mtime[0];
//get_magic_quotes_gpc检测PHP.INI配置中的魔术引号功能是否打开
$magic_quote = get_magic_quotes_gpc();
if(emptyempty($magic_quote)) {
//如果自动过滤每打开,则对传入的参数进行转义
$_GET = saddslashes($_GET);
$_POST = saddslashes($_POST);
}
//货主站点的URL,其中getsiteurl()是用来获取当前站点的域名
if(emptyempty($_SC['siteurl'])) $_SC['siteurl'] = getsiteurl();
//链接数据库
dbconnect();
//打开缓存文件
foreach (array('config', 'app', 'userapp', 'ad') as $value) {
if(!@include_once(S_ROOT.'./data/data_'.$value.'.php')) {
//如果缓存文件打开失败重建缓存,function_cache.php是包含建立缓存的函数文件
include_once(S_ROOT.'./source/function_cache.php');
$cache_func = $value.'_cache';
//调用相应的函数来生成缓存。
$cache_func();
}
}
//获取COOKIE前缀的长度,$_SC['cookiepre']是在config.php中定义的COOKIE函数的前缀名称,$_COOKIE是存放COOKIE的数据全局变量数组
$prelength = strlen($_SC['cookiepre']);
foreach($_COOKIE as $key => $val) {
//判断当前域名下的COOKIE中属于UCHome的COOKIE
if(substr($key, 0, $prelength) == $_SC['cookiepre']) {
//对COOKIE值进行转义
$_SCOOKIE[(substr($key, $prelength))] = emptyempty($magic_quote) ? saddslashes($val) : $val;
}
}
//是否启用GIP压缩传输,这个是用来提高PHP传输速度的。
if ($_SC['gzipcompress'] && function_exists('ob_gzhandler')) {
ob_start('ob_gzhandler');
} else {
ob_start();
}
//初始化
$_SGLOBAL['supe_uid'] = 0; //初始化当前用户的UID
$_SGLOBAL['supe_username'] = ''; //初始化当前用户的用户名
$_SGLOBAL['inajax'] = emptyempty($_GET['inajax'])?0:intval($_GET['inajax']); //这个是用来在页面中控制一些弹出框,在模板篇会介绍
$_SGLOBAL['ajaxmenuid'] = emptyempty($_GET['ajaxmenuid'])?'':$_GET['ajaxmenuid'];
$_SGLOBAL['refer'] = emptyempty($_SERVER['HTTP_REFERER'])?'':$_SERVER['HTTP_REFERER']; //获得上一页的URL,用来跳转
//登录注册防灌水机
/*
在登录或者注册的时候看到形如:do.php?ac=750e45d29d276b2f86f1445627c08f99的链接
后面的750e45d29d276b2f86f1445627c08f99就是用下面的来获取的。
*/
if(emptyempty($_SCONFIG['login_action'])) $_SCONFIG['login_action'] = md5('login'.md5($_SCONFIG['sitekey']));
if(emptyempty($_SCONFIG['register_action'])) $_SCONFIG['register_action'] = md5('register'.md5($_SCONFIG['sitekey']));
//整站风格,检查站点模板的路径。此处是default目录,就是我们常用黄色风格的模板路径
if(emptyempty($_SCONFIG['template'])) {
$_SCONFIG['template'] = 'default';
}
//在首页由下角可以自行选择风格的实现就是通过这段。
if($_SCOOKIE['mytemplate']) {
$_SCOOKIE['mytemplate'] = str_replace('.','',trim($_SCOOKIE['mytemplate']));
if(file_exists(S_ROOT.'./template/'.$_SCOOKIE['mytemplate'].'/style.css')) {
$_SCONFIG['template'] = $_SCOOKIE['mytemplate'];
} else {
ssetcookie('mytemplate', '');
}
}
//处理REQUEST_URI,查询(query)的字符串(URL 中第一个问号 ? 之后的内容)。 如为空则为当前页面。
if(!isset($_SERVER['REQUEST_URI'])) {
$_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'];
if(isset($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING'];
}
//判断用户登录状态
checkauth();
//用户菜单
getuserapp();
//处理UC应用,这个是漫游相关菜单,在此不用解释
$_SGLOBAL['appmenus'] = $_SGLOBAL['appmenu'] = array();
if($_SGLOBAL['app']) {
foreach ($_SGLOBAL['app'] as $value) {
if($value['open']) {
if(emptyempty($_SGLOBAL['appmenu'])) {
$_SGLOBAL['appmenu'] = $value;
} else {
$_SGLOBAL['appmenus'][] = $value;
}
}
}
}
?>

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

蓝屏代码0x0000001怎么办 蓝屏代码0x0000001怎么办 Feb 23, 2024 am 08:09 AM

蓝屏代码0x0000001怎么办蓝屏错误是电脑系统或硬件出现问题时的一种警告机制,代码0x0000001通常表示出现了硬件或驱动程序故障。当用户在使用电脑时突然遇到蓝屏错误,可能会感到惊慌和无措。幸运的是,大多数蓝屏错误都可以通过一些简单的步骤进行排除和处理。本文将为读者介绍一些解决蓝屏错误代码0x0000001的方法。首先,当遇到蓝屏错误时,我们可以尝试重

qq音乐歌词怎么复制 歌词复制的方法 qq音乐歌词怎么复制 歌词复制的方法 Mar 12, 2024 pm 08:22 PM

  我们用户们在使用这款平台的时候应该都能够了解到上面对于一些功能的多样性,我们知道一些歌曲的歌词都写的非常的不错。有时候甚至都会多听几遍,觉得其中的含义都是非常深刻的,所以我们想要去了解其中的胜意,就想要直接的复制下来当文案来使用,不过对于要使用的话,还是要学会如何去复制歌词才可以,这些操作方面我相信大家们应该都并不模式,但是在手机上面操作确实是有点难度,所以为了能够让大家们更好的了解的话,今日小编就来为你们好好的讲解上面的一些操作体验,如果你们也喜欢的话,就和小编一起来看看吧,不要错过了。 

GE通用远程代码可在任何设备上编程 GE通用远程代码可在任何设备上编程 Mar 02, 2024 pm 01:58 PM

如果您需要远程编程任何设备,这篇文章会给您带来帮助。我们将分享编程任何设备的顶级GE通用远程代码。通用电气的遥控器是什么?GEUniversalRemote是一款遥控器,可用于控制多个设备,如智能电视、LG、Vizio、索尼、蓝光、DVD、DVR、Roku、AppleTV、流媒体播放器等。GEUniversal遥控器有各种型号,具有不同的功能和功能。GEUniversalRemote最多可以控制四台设备。顶级通用遥控器代码,可在任何设备上编程GE遥控器配备一组代码,使其能够与不同设备相配合。您可

如何使用Copilot生成代码 如何使用Copilot生成代码 Mar 23, 2024 am 10:41 AM

作为一名程序员,对于能够简化编码体验的工具,我感到非常兴奋。借助人工智能工具的帮助,我们可以生成演示代码,并根据需求进行必要的修改。在VisualStudioCode中新引入的Copilot工具让我们能够创建具有自然语言聊天交互的AI生成代码。通过解释功能,我们可以更好地理解现有代码的含义。如何使用Copilot生成代码?要开始,我们首先需要获得最新的PowerPlatformTools扩展。要实现这一点,你需要进入扩展页面,搜索“PowerPlatformTool”,然后点击Install按钮

一起学习word根号输入办法 一起学习word根号输入办法 Mar 19, 2024 pm 08:52 PM

在word中编辑文字内容时,有时会需要输入公式符号。有的小伙们不知道在word根号输入的方法,小面就让小编跟小伙伴们一起分享下word根号输入的方法教程。希望对小伙伴们有所帮助。首先,打开电脑上的Word软件,然后打开要编辑的文件,并将光标移动到需要插入根号的位置,参考下方的图片示例。2.选择【插入】,再选择符号里的【公式】。如下方的图片红色圈中部分内容所示:3.接着选择下方的【插入新公式】。如下方的图片红色圈中部分内容所示:4.选择【根式】,再选择合适的根号。如下方的图片红色圈中部分内容所示:

揭秘C语言的吸引力: 发掘程序员的潜质 揭秘C语言的吸引力: 发掘程序员的潜质 Feb 24, 2024 pm 11:21 PM

学习C语言的魅力:解锁程序员的潜力随着科技的不断发展,计算机编程已经成为了一个备受关注的领域。在众多编程语言中,C语言一直以来都备受程序员的喜爱。它的简单、高效以及广泛应用的特点,使得学习C语言成为了许多人进入编程领域的第一步。本文将讨论学习C语言的魅力,以及如何通过学习C语言来解锁程序员的潜力。首先,学习C语言的魅力在于其简洁性。相比其他编程语言而言,C语

PS复制图层快捷键 PS复制图层快捷键 Feb 23, 2024 pm 02:34 PM

在PS复制图层快捷键中,我们可以知道使用PS的时候如果想要进行复制图层的操作,可以使用到快捷键【Ctrl+J】进行快速复制。这篇复制图层快捷键的介绍就能够告诉大家具体的操作方法,下面就是详细的内容,赶紧看看吧。PS复制图层快捷键答:【Ctrl+J】具体方法:1、在ps中打开图像,选中需要复制的图层。2、键盘同时按下【Ctrl+J】,即可完成对图层的复制。其他复制方式:1、打开图像后,按住图层,向下放【新建图层】图标移动。2、移动到该图标上后,松手。3、即可完成图层复制。

创建和运行Linux'.a”文件 创建和运行Linux'.a”文件 Mar 20, 2024 pm 04:46 PM

在Linux操作系统中处理文件需要使用各种命令和技术,使开发人员能够高效地创建和执行文件、代码、程序、脚本和其他东西。在Linux环境中,扩展名为”.a”的文件作为静态库具有重要的重要性。这些库在软件开发中发挥着重要作用,允许开发人员有效地管理和共享多个程序的公共功能。对于Linux环境中的有效软件开发,了解如何创建和运行“.a”文件至关重要。本文将介绍如何全面安装和配置Linux“.a”文件,让我们一起探索Linux“.a”文件的定义、用途、结构,以及创建和执行它的方法。什么是L

See all articles