软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 建站程序 > SNS程序 > UCHome全面大解析2:基本体系结构

UCHome全面大解析2:基本体系结构

本期主要介绍UCHOME的体系结构开始,一步一步教大家理解UCHOME。

UCHOME安装后的主要目录与文件介绍:

admin/ 管理后台
api/ API函数[插件开发与模板等的修改不需要动此文件]
attachment/ 附件目录
data/ 缓存目录,此目录要有777权限,系统相关缓存基本上都在这里了
data/tpl_cache/ 模板缓存目录,注意,如果你的UCH白屏了,无法进入后台跟新缓存,通过FTP手工删除此目录下的所有文件即可相当于模板缓存的更新
image/ 图片目录
language/ 语言目录 ,跳转提示语言等
source/ PHP源程序目录
template/ 模板目录
theme/ 个人主页目录
uc_client/ ucenter客户端 [插件开发与模板等的修改不需要动此文件]
以下是UCHOME根目录下常用文件【不常用的不在介绍】
admincp.php 后台管理入口文件
common.php 通用文件,所有的文件都要包含这个文件,在上篇已详细解释了内容
config.php 基本配置文件
cp.php 编辑日志、相册、活动等等相关编辑操作基本上都从这个文件入口
do.php 登录、注册、找回密码、相册批量上传、在需要密码的情况下才能查看日志相册、验证码、发送邮件、统计、邮件验证等行为的入口文件
editor.php 编辑器的入口文件,强烈建议您不用动他
magic.php 道具入口文件

network.php 随便看看等入口文件
space.php 个人空间、日志、相册、活动等入口文件

我们一般修改UCH主要涉及的入口文件有space.php network.php do.php cp.php 这四个,那么我们如何根据你访问的URL判断涉及到那些PHP文件和模板文件,方便您的进一步修改!

好了,现在我们以最简单的do.php入口文件来分析下,
举个列子,如果我们使用找回密码功能,通常链接如下:do.php?ac=lostpasswd,而注册的链接一般分两种,一种是do.php?ac=后台自定义登录识别名
另一种是do.php?ac=随机
好了,我们进入do.php文件中继续看看
Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com]
include_once('./common.php'); 上节说了,这个是公用文件,在上篇已详细解释了内容

//获取方法
$ac = empty($_GET['ac'])?'':$_GET['ac']; //获取do.php?ac中ac的值

//自定义登录
if($ac == $_SCONFIG['login_action']) {
//这里的全局变量$_SCONFIG['login_action']就是ac=自定义标示名或那个随机串,如果相同则把原来的do.php?ac=XXXX抓换成类似效果do.php?ac=login
$ac = 'login';
} elseif($ac == 'login') {
$ac = '';
}
if($ac == $_SCONFIG['register_action']) {
//这里的全局变量$_SCONFIG['register_action']
//就是ac=就是后面的自定义标示名或那个随机串,如果相同则把原来的do.php?ac=XXXX抓换成类似效果do.php?ac=register
$ac = 'register';
} elseif($ac == 'register') {
$ac = '';
}

//允许的方法
//这里很重要,login对应的是登录,register定义的是注册,lostpasswd定义的是找回密码,与上面访问的URL是否是对应上了
//对应上面的do.php?ac=login,do.php?ac=register,do.php?ac=lostpasswd,其他类似!如果ac后的参数不在下面的数组中,则为非法。跳转到首页
$acs = array('login', 'register', 'lostpasswd', 'swfupload', 'inputpwd',
'ajax', 'seccode', 'sendmail', 'stat', 'emailcheck');
if(empty($ac) || !in_array($ac, $acs)) {
showmessage('enter_the_space', 'index.php', 0);
}

//链接
$theurl = 'do.php?ac='.$ac;
//这是包含文件的意思,继续执行一下文件的意思,
//其中S_ROOT是UCHOME安装目录的常量
//根据下面的语句,我们可以这样判断,如果链接是do.php?ac=lostpasswd的话,程序继续执行source/do_lostpasswd.php文件!
include_once(S_ROOT.'./source/do_'.$ac.'.php');

相关阅读
网友评论
栏目导航
推荐软件