文章标题

来源:互联网 发布:iphone怎么授权软件 编辑:程序博客网 时间:2024/06/04 21:53

网站根目录使用define(‘DISCUZ_ROOT’, substr(dirname(FILE), 0, -7));
对于上面这语句一直不理解是什么意思,查了相关资料有点了结。
首先:这个语句由 define(), substr(), dirname()三个函数组成 1. define()定义和用法 define() 函数定义一个常量。

常量类似变量,不同之处在于:
在设定以后,常量的值无法更改
常量名不需要开头的美元符号 ($)
作用域不影响对常量的访问
常量值只能是字符串或数字

语法define(name,value,case_insensitive)
参数描述
name 必需。规定常量的名称。
value 必需。规定常量的值。
case_insensitive 必需。规定常量的名称是否对大小写敏感。

若设置为 true,则对大小写不敏感。默认是 false(大小写敏感)。注:第三个参数也是今天看了函数原型学到的,define也可以设置大小写的敏感。

2.dirname(path)
定义和用法 path 参数是一个包含有指向一个文件的全路径的字符串。该函数返回去掉文件名后的目录名。
语法string dirname ( string path )
参数描述
path 必需。规定要检查的路径。

例子
输出:
c:/testweb/testweb

3.substr( ) 函数

定义和用法substr() 函数返回字符串的一部分

语法string substr ( string string,intstart [, int $length ] )

参数描述
string 必需。规定要返回其中一部分的字符串。
start 必需。规定在字符串的何处开始。

正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始
charlist 可选。规定要返回的字符串长度。默认是直到字符串的结尾。

正数 - 从 start 参数所在的位置返回
负数 - 从字符串末端返回
注释:如果 start 是负数且 length 小于等于 start,则length为 0

4.FILE

FILE的路径是当前代码所在文件(而不是url所在 文件)完整路径,所以定义配置文件通常要放在根目录下定义网站的根地址define(‘DISCUZ_ROOT’, substr(dirname(FILE), 0, -7)); 假设 FILE为 /home/web/include/common.php因此dirname(FILE)的返回值就是/home/web/includesubstr(dirname(FILE), 0, -7))的返回值就是/home/web/define(‘DISCUZ_ROOT’, substr(dirname(FILE), 0, -7)); 就是定义常理DISCUZ_ROOT的值为/home/web/为什么是-7呢??? 对,因为他们都恰好在include文件夹内,数数字母个数,恰好是7个… 这样定义的常量正好就是根目录的绝对地址了

0 0
原创粉丝点击