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 相关文章推荐
oracle资料库函式库
Oct 09 PHP
php allow_url_include的应用和解释
Apr 22 PHP
PHP开发负载均衡指南
Jul 17 PHP
PHP Directory 函数的详解
Mar 07 PHP
基于php在各种web服务器的运行模式详解
Jun 03 PHP
PHP中array_merge和array相加的区别分析
Jun 17 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
php图片添加文字水印实现代码
Mar 15 PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 PHP
Yii框架表单模型和验证用法
May 20 PHP
laravel学习教程之关联模型
Jul 30 PHP
PHP实现根据数组的值进行分组的方法
Apr 20 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
php实现httpRequest的方法
2015/03/13 PHP
什么是JavaScript
2009/08/13 Javascript
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
jquery获取input表单值的代码
2010/04/19 Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
2010/07/20 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
2013/06/14 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
JavaScript Date对象应用实例分享
2017/10/30 Javascript
react实现antd线上主题动态切换功能
2019/08/12 Javascript
[02:34]DOTA2英雄基础教程 幽鬼
2014/01/02 DOTA
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
2014/11/19 Python
Python实现竖排打印传单手机号码易撕条
2015/03/16 Python
浅析Python中的多进程与多线程的使用
2015/04/07 Python
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
Python实现的根据IP地址计算子网掩码位数功能示例
2018/05/23 Python
浅析python内置模块collections
2019/11/15 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
python实现猜拳游戏
2020/03/04 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
css3 中translate和transition的使用方法
2020/03/26 HTML / CSS
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
降消项目实施方案
2014/03/30 职场文书
护士长竞聘演讲稿
2014/04/30 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
2015政治思想表现评语
2015/03/25 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers