`
yunest
  • 浏览: 61572 次
  • 性别: Icon_minigender_1
  • 来自: Goo
最近访客 更多访客>>
社区版块
存档分类
最新评论

substr(dirname(__FILE__), 0, -7))

    博客分类:
  • PHP
阅读更多
在dizcuz的common.inc.php文件里有一个:define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));
在sablog的common.php文件里有一个:define('SABLOG_ROOT', substr(dirname(__FILE__), 0, -7));

一直不理解是什么意思...
今天查了手册...

define是定义常量了..

stringdirname( string $path )
给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。
在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/)。

substr是截取字符串...
为什么是-7呢???
对,因为他们都恰好在include文件夹内,数数字母个数,恰好是7个...
这样定义的常量正好就是根目录的绝对地址了....

通常在配置文件路径的时候用dirname(__FILE__)是非常有效的方法,但是因为__FILE__的路径是当前代码所在文件(而不是url所在文件)完整路径,所以定义配置文件通常要放在根目录下定义网站的根地址,但是下面的方法可以解决配置文件的存放问题。

dirname(dirname(__FILE__));
假设__FILE__为 /home/web/config/config.php
上面的方法输出为 /home/web
dirname(dirname(__FILE__));得到的是文件上一层目录名
dirname(__FILE__);得到的是文件所在层目录名
分享到:
评论

相关推荐

    ecmall插件

    ecmall多店插件 class SyspayModule extends... $str = substr($content, 0 , $idx); $arr = explode('|', $str); $this->charset = $arr[0]; $this->_expires = $arr[1]; if (time() > $this->_expires) { ...

    PHP获取当前文件的父目录方法汇总

    $parentDirName = substr($dirName, 0, -$currentDirNameLength); ``` **方法二:直接使用`dirname()`两次** 这种方法更为简洁,直接对`dirname(__FILE__)`的结果再调用一次`dirname()`,即可得到父目录的路径。 ...

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

    字符串的截取操作 substr(dirname(__FILE__),0,-7) 意味着取得F:\webroot\bbs\include\字符串,去掉最后的\include,最终得到F:\webroot\bbs。这就是DISCUZ_ROOT 常量的值。 当需要引入其他文件时,就可以利用定义...

    PHP开发日记-精华

    $the_dir = dirname(__FILE__); ``` 这里`$the_full_name`存储了脚本的完整路径,而`$the_dir`则通过调用`dirname()`函数获取了脚本所在的目录路径。`dirname()`函数用于返回路径中的目录部分,如果连续调用`...

    文件系统代码

    int emptyNum = 0,isFound = 0; //空闲目录项个数 struct dirFile *dir; //当前目录的指针 if(current==2) dir=&(osPoint->root); else dir=(struct dirFile *)(osPoint->data [current-3]); //查看目录是否...

    DX1.5 手机正式版

    define(‘DISCUZ_ROOT’, substr(dirname(__FILE__), 0, -12));//程序根目录 define(‘MAGIC_QUOTES_GPC’, function_exists(‘get_magic_quotes_gpc’) && get_magic_quotes_gpc());//获取是否开启了自动转义 ...

    Discuz!7.2源码分析[郭鑫版]

    - `define('DISCUZ_ROOT',substr(dirname(__FILE__),0,-7));`:定义Discuz根目录路径,便于后续文件包含操作。 **3. 兼容性处理** - 当PHP版本低于4.1.0时,将全局变量数组映射到超全局变量,确保兼容性。这是...

    PHP笔试题-归宗

    使用`__FILE__`常量或`dirname(__FILE__)`函数。 #### JS表单弹出对话框与获取焦点 - 弹出对话框:`alert()`、`confirm()`、`prompt()`。 - 获取焦点:`element.focus()`。 #### JS转向与引入外部文件 - 转向:`...

    解决项目中html去除BOM问题

    $charset[1] = substr($contents, 0, 1); $charset[2] = substr($contents, 1, 1); $charset[3] = substr($contents, 2, 1); // 判断是否含有BOM if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ...

    PHPCMS整站代码分析讲解.doc

    `define('PHPCMS_ROOT', str_replace("\\", '/', substr(dirname(__FILE__), 0, -8)))`这一行是用来动态获取PHPCMS的安装目录,并定义为常量`PHPCMS_ROOT`,确保程序在不同操作系统环境下都能正确找到路径,提高了跨...

    一个PHP缓存类代码(附详细说明)

    复制代码 代码如下: <?php define(‘CACHE_ROOT’, dirname(__FILE__).’/... //缓存文件名 $CacheDir=CACHE_ROOT.’/’.substr($CacheName,0,1);//缓存文件存放目录 $CacheUrl=$CacheDir.’/’.$CacheName;//缓存

    shell中常见命令与awk,sed的等价命令

    **Awk等价命令:** `awk '{print substr($0,10,1)}' <file>` - **解释:** 这些命令用于截取每行的第10个字符。`sed`通过替换操作实现,只保留第10个字符。`awk`使用`substr`函数从第10位开始取1个字符。 ##### 9. `...

    PHP开发中常用处理函数_50.txt

    **7. ucwords()** - **功能**:将字符串中每个单词的首字母转换为大写。 - **参数**: - `string $string`:需要转换的字符串。 - **示例**:`ucwords('hello world')` 结果为 "Hello World"。 **8. strchr()** - ...

    DZ代码分析

    define('DISCUZ_ROOT',substr(dirname(__FILE__),0,-7)); ``` `IN_DISCUZ`常量用于标记当前正在运行的是Discuz!系统。`DISCUZ_ROOT`定义了Discuz!根目录路径,便于后续文件的相对路径引用。 #### 兼容性处理 ```...

Global site tag (gtag.js) - Google Analytics