PHP 的 __FILE__ 常量


Posted in PHP onJanuary 15, 2007

今天碰到了PHP的常量__FILE__的问题了。
在网上查了一下。总结了以下规律。
dirname(__FILE___) 函数返回的是脚本所在在的路径。
比如文件 b.php 包含如下内容:
<?php
$basedir = dirname(__FILE__);
?>
如果b.php被其他目录里的a.php文件require 或者 include 去引用的话。
变量$basedir 的内容还是b.php所在的那个文件夹的路径。
而不是变成a.php文件所在的目录。
dirname(__FILE__) 一般会返回文件所的当前目录到系统根目录的一个目录结构。
不会返回当前的文件名称。
dirname(__FILE__) 也可能返回一个 . (当前目录)
[原因是 b.php 文件在 http.conf 或者 PHP 配置开发环境的默认WEB目录下.
比如 WEB_ROOT 为: "C:/root/www/".]
b.php文件路径为: "C:/root/www/b.php".

使用方法提示, 
如果重复一次可以把目录往上提升一个层次:
比如:$d = dirname(dirname(__FILE__));
其实就是把一个目录给dirname()做参数了.因为dirname()返回最后的目录不带\\或者是/
所以重复使用的时候可以认为 dirname() 把最下层的目录当成文件名来处理了.照常返回
当前目录的上级目录.这样重复就得到了它的上一级的目录.

包含得到上一级目录的文件
include(dirname(__FILE__).'/../filename.php');

PHP 相关文章推荐
批量修改RAR文件注释的php代码
Nov 20 PHP
PHP 之Section与Cookie使用总结
Sep 14 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
May 04 PHP
模板引擎smarty工作原理以及使用示例
May 25 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
Jun 12 PHP
学习php中的正则表达式
Aug 17 PHP
简单谈谈PHP vs Node.js
Jul 17 PHP
深入理解PHP变量的值类型和引用类型
Oct 21 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
PhpStorm+xdebug+postman调试技巧分享
Sep 15 PHP
PHP dirname功能及原理实例解析
Oct 28 PHP
MySQL相关说明
Jan 15 #PHP
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
Jan 15 #PHP
关于mysql 字段的那个点为是定界符
Jan 15 #PHP
最令PHP初学者们头痛的十四个问题
Jan 15 #PHP
NOT NULL 和NULL
Jan 15 #PHP
MySQL中create table语句的基本语法是
Jan 15 #PHP
php生成文件
Jan 15 #PHP
You might like
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
简单的PHP留言本实例代码
2010/05/09 PHP
shopex主机报错误请求解决方案(No such file or directory)
2011/12/27 PHP
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
js URL参数的拼接方法比较
2012/02/15 Javascript
javascript 保存文件到本地实现方法
2012/11/29 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
vue translate peoject实现在线翻译功能【新手必看】
2018/06/07 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Python的requests网络编程包使用教程
2016/07/11 Python
Python绘制3D图形
2018/05/03 Python
Python PIL读取的图像发生自动旋转的实现方法
2019/07/05 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
C语言编程练习
2012/04/02 面试题
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
高校十八大报告感想
2014/01/27 职场文书
《春天来了》教学反思
2014/04/07 职场文书
党员承诺书格式
2014/05/21 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
街道社区活动报告
2015/02/05 职场文书
外贸英文求职信范文
2015/03/19 职场文书
同意报考公务员证明
2015/06/17 职场文书
2016年“抗战胜利纪念日”71周年校园广播稿
2015/12/18 职场文书
高二语文教学反思
2016/02/16 职场文书