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 相关文章推荐
PHP 自定义错误处理函数trigger_error()
Mar 26 PHP
关于PHP递归算法和应用方法介绍
Apr 15 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 PHP
smarty半小时快速上手入门教程
Oct 27 PHP
php实现以只读方式打开文件的方法
Mar 16 PHP
8个PHP数组面试题
Jun 23 PHP
Joomla开启SEF的方法
May 04 PHP
yii2带搜索功能的下拉框实例详解
May 12 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
phpcmsv9.0任意文件上传漏洞解析
Oct 20 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 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在特殊字符前加斜杠的实现代码
2011/07/17 PHP
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
学习php设计模式 php实现备忘录模式(Memento)
2015/12/09 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
python爬虫之百度API调用方法
2017/06/11 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
Python中最大递归深度值的探讨
2019/03/05 Python
python 杀死自身进程的实现方法
2019/07/01 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
python自动化测试之DDT数据驱动的实现代码
2019/07/23 Python
Python读取yaml文件的详细教程
2020/07/21 Python
python进度条显示之tqmd模块
2020/08/22 Python
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
毕业生在校学习的自我评价分享
2013/10/08 职场文书
小学新学期教师寄语
2014/01/18 职场文书
2014年端午节活动方案
2014/03/11 职场文书
酒店总经理岗位职责
2014/03/17 职场文书
公司晚会主持词
2014/03/22 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
学校党员干部承诺书
2015/05/04 职场文书