学习discuz php 引入文件的方法DISCUZ_ROOT


Posted in PHP onJune 21, 2009

define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));
这是discuz中定义论坛安装根目录的一个常量。现在我们就来分析一下这个很简单但是非常实用的常量。
先说明一下本篇文章中假定common.inc.php文件的绝对路径就是F:\webroot\bbs\include\common.inc.php
这句话包含在discuz的 include/common.inc.php 里面,首先我们来看看DISCUZ_ROOT这个常量的值:F:\webroot\bbs\
接下来我们具体分析这句话:
define(),当然是定义一个常量了,这里呢就是定义一个名字是DISCUZ_ROOT的常量。
substr(),这个是字符串截取函数,substr(‘123456789', 0, -2)这句话就是返回1234567。
dirname(__FILE__) ,__FILE__是一个魔术常量,手册上是这么说的“文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。 ”。dirname(),返回路径中的目录部分。这么看来dirname(__FILE__),就是获取的F:\webroot\bbs\include着一串字符串。

由此可见define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7)); 就是F:\webroot\bbs\include这个字符串减去末尾7个字母的字符串:F:\webroot\bbs\
假如include文件夹改成lib那么-7就应该改成是-3,不知道你明白了没有?

以后在程序中引用文件的时候就可以这么写了require_once DISCUZ_ROOT . './test.php'; 这句话的实际内容就是require_once F:\webroot\bbs\./test.php

PHP 相关文章推荐
php cookie 作用范围?不要在当前页面使用你的cookie
Mar 24 PHP
关于PHP5 Session生命周期介绍
Mar 02 PHP
php下mysql数据库操作类(改自discuz)
Jul 03 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
Aug 21 PHP
PHP之COOKIE支持详解
Sep 20 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
深入PHP运行环境配置的详解
Jun 04 PHP
laravel 4安装及入门图文教程
Oct 29 PHP
cakephp打印sql语句的方法
Feb 13 PHP
Zend Framework教程之Resource Autoloading用法实例
Mar 08 PHP
php日期操作技巧小结
Jun 25 PHP
php批量删除操作代码分享
Feb 26 PHP
php 分页函数multi() discuz
Jun 21 #PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 #PHP
discuz7 phpMysql操作类
Jun 21 #PHP
php 将bmp图片转为jpg等其他任意格式的图片
Jun 21 #PHP
ie6 动态缩略图不显示的原因
Jun 21 #PHP
PHP COOKIE设置为浏览器进程
Jun 21 #PHP
PHP 输出缓存详解
Jun 20 #PHP
You might like
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
php过滤表单提交的html等危险代码
2014/11/03 PHP
PHP集成百度Ueditor 1.4.3
2014/11/23 PHP
PHP调用其他文件中的类
2018/04/02 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
小议Javascript中的this指针
2010/03/18 Javascript
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
JS实现颜色动态淡化效果
2017/03/06 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
Python读取图片属性信息的实现方法
2016/09/11 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
python中hashlib模块用法示例
2017/10/30 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
在python3中实现更新界面
2020/02/21 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
祖国在我心中演讲稿300字
2014/05/04 职场文书
关于安全的演讲稿
2014/05/09 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
企业安全生产规章制度
2015/08/06 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript
Python开发简易五子棋小游戏
2022/05/02 Python