__FILE__ 文件的完整路径和文件名。
__DIR__ 文件所在的目录
下面的更能说明不是index.php所在目录。
输出:
看到没,等于是代码所在脚本处的路径
我不明白为什么你每次都觉得是index.php所在的路径,
可能是因为访问网站的时候static的资源都是经过了
http://localhost/ypframe/admin/static/huiadmin/lib/jquery/1.9.1/jquery.min.js
apache将你的localhost解析到www文件夹,然后直接根据
/admin/static/huiadmin/lib/jquery/1.9.1/jquery.min.js
查找到
D:\\admin\\static\\huiadmin\\lib\\jquery\\1.9.1\\jquery.min.js
文件,或者localhost:8090直接解析到www\\thinkphp\\admin
混淆了吧,
反正,记住两个魔术变量都是,直接就是等于代码所在文件的路径\\路径文件夹
至于PHP文件系统函数之中最常用的basename() \\dirname() 等绝大多数情况根据这两个魔术变量处理
比如框架初始化的时候,在config之中定义一个project所在路径的元素值
$comConfig[‘ROOT‘] = str_replace ( ‘\\\\‘, ‘/‘, dirname ( dirname ( __FILE__ ) ) . ‘/‘ );
诺,再不会晕了吧、所有的静态资源都根据http://地址指向服务器文件夹,后加路径指向静态资源。
PHP代码处删除文件都用服务器文件路径 d:\\a.txt或者相对路径
不会混淆了吧。