以discuz x2.5为例

D:/www/upload2.5/test.php

D:/www/upload2.5/source/class/class_test.php



test.php文件如下

<?php
define('APPTYPEID', 2);
define('CURSCRIPT', 'test');
//by http://www.manongjc.com/article/1321.html
require './source/class/class_core.php'; C::app()->init(); echo DISCUZ_ROOT."<br/>"; echo __FILE__."<br/>";
echo dirname(__FILE__)."<br/>";
$dir = getcwd();echo $dir; echo "<hr/>"; include DISCUZ_ROOT."source/class/class_test.php";
?>

class_test.php文件如下

<?php  

echo __FILE__."<br/>";
echo dirname(__FILE__)."<br/>";
$dir2 = getcwd();echo $dir2;
//by http://www.manongjc.com/article/1321.html
?>

运行结果如下

D:\www\upload2.5\                             -->DISCUZ_ROOT
D:\www\upload2.5\test.php -->__FILE__
D:\www\upload2.5 -->dirname(__FILE__)
D:\www\upload2.5 -->getcwd() D:\www\upload2.5\source\class\class_test.php -->__FILE__
D:\www\upload2.5\source\class -->dirname(__FILE__)
D:\www\upload2.5 -->getcwd()

由此可见

__FILE__代表所在文件的路径

getcwd()运行文件的所在目录





DISCUZ_X2.5根路径是这样创建的

所在文件D:\www\upload2.5\source\class\class_core.php

define('IN_DISCUZ', true);
define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -12));

Magento根路径创建如下

根目录index.php中

define('MAGENTO_ROOT', getcwd()); 

PHP获取文件目录dirname(__FILE__),getcwd()的更多相关文章

  1. getcwd()和dirname(__FILE__)的区别

    我个人理解:getcwd()会随着包含文件的改变而改变,而dirname(__FILE__)不会.即 getcwd() 表示获取当前执行文件的物理路径. 如 getcwd()显示: /www/proj ...

  2. PHP获取绝对路径dirname(__FILE__)和__DIR__比较

    我们都知道,要获取当前PHP脚本所在目录的绝对路径,dirname(__FILE__) 和 __DIR__都可以实现.那么什么情况下用 dirname(__FILE__),什么情况下用 __DIR__ ...

  3. php dirname(__FILE__) 获取当前文件的绝对路径 (转)

    比如当前文件是放在(d:\www\)下,文件名是test.php. 测试的代码如下: 复制代码 代码如下: <?php echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\ ...

  4. php dirname(__FILE__) 获取当前文件的绝对路径

    dirname(__FILE__) 取到的是当前文件的绝对路径,也就是说,比起相对路径,查找速度是最快的. 比如当前文件是放在(d:\www\)下,文件名是test.php.  测试的代码如下: &l ...

  5. python 获取文件目录位置

    test.py import os print('***获取当前目录***') print(os.getcwd()) print(os.path.abspath(os.path.dirname(__f ...

  6. substr(dirname(__FILE__))

    这是discuz中定义论坛安装根目录的一个常量.现在我们就来分析一下这个很简单但是非常实用的常量.     define('DISCUZ_ROOT', substr(dirname(__FILE__) ...

  7. python中的os.path.dirname(__file__)的使用

    在编程时,我们要获取当前文件所在的路径,以适合所有的工程,建立相对路径. python的os.path.dirname(__file__)非常好用,建议大家使用: import os FILE = o ...

  8. Python os.path.dirname(__file__) os.path.join(str,str)

    Python os.path.dirname(__file__) Python os.path.join(str,str)   (1).当"print os.path.dirname(__f ...

  9. os.path.dirname(__file__)使用

    os.path.dirname(__file__)使用 该测试脚本所在的位置:D:\第1层\第2层\第3层\第4层\第5层\test11.py test11.py import os #该文件所在位置 ...

随机推荐

  1. ClassNotFoundException异常的解决方法

    java.lang.ClassNotFoundException 说是某个类没有找到,找了下,发现这个类是在项目里面的,那么久奇怪了,为什么应用找不到这个类, 然后用mvn install -Dmav ...

  2. 配置samba服务器

    公司需要一台用于共享的文件服务器,考虑使用Linux系统,听说会比windows的文件系统好管理,了解不多,人云亦云了! 这里需要用到samba系统,安装比较简单,安装后需要进行配置才能访问. 修改s ...

  3. RedHat5安装好后没有ip

    RedHat5安装好后,ifconfig查不到ip. 设置有问题.关闭虚拟机,点击下图所指,调出虚拟网络编辑器: 点击还原默认设置,应用,确定. 重启虚拟机,ifconfig,是不是查到ip了呢?

  4. [原]网络库libevent在Visual Studio中的使用方法

    libevent是一个事件触发的网络库,适用于windows.linux.bsd等多种平台,内部使用select.epoll.kqueue等系统调用管理事件机制.著名分布式缓存软件memcached也 ...

  5. HTML 编辑器

    使用 Notepad 或 TextEdit 来编写 HTML 可以使用专业的 HTML 编辑器来编辑 HTML: Adobe Dreamweaver Microsoft Expression Web ...

  6. .NET(C#)生成条形码

    using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...

  7. EXECUTE 后的事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配

    代码中的事务包含了存储过程中的事务.

  8. Linux下做软RAID

    1.查看有多少块硬盘可用#fdisk -l嗯,一般而言,留下系统盘不动,其它的盘如果大小相同的话,统统合起来做一个raid. 2.决定做什么类型的raid.raid-0.raid-1.raid-5?如 ...

  9. 【Android学习日记】

    (一) Android 开发基础 1 Android平台的特性 1)  应用程序框架支持组建的重用和替换,包括打电话应用程序.文件管理器等. 2)  Dalvik虚拟机专门为移动设备做了优化,Dalv ...

  10. Web上传文件

      客户端      相对于FTP文件上传,Web文件上传速度慢一些,但使用方便,不需要客户端,而且权限比FTP容易控制. Web文件上传采用POST方式,上传文件需要设置FORM的entype属性为 ...