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 相关文章推荐
FCKeditor添加自定义按钮
Mar 27 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
更改localhost为其他名字的方法
Feb 10 PHP
php导出excel格式数据问题
Mar 11 PHP
php获取域名的google收录示例
Mar 24 PHP
Symfony2 session用法实例分析
Feb 04 PHP
ZendFramework框架实现连接两个或多个数据库的方法
Dec 08 PHP
Zend Framework动作控制器用法示例
Dec 09 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 PHP
YII2.0框架行为(Behavior)深入详解
Jul 26 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 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 面向对象 PHP5 中的常量
2010/05/05 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
jquery 分页控件实现代码
2009/11/30 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
JS前端笔试题分析
2016/12/19 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
详解Vue组件之间通信的七种方式
2019/04/14 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
[01:07:53]RNG vs VG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python学习笔记_数据排序方法
2014/05/22 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
python实现一个简单的ping工具方法
2019/01/31 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
2019/04/30 Python
如何更优雅地写python代码
2019/07/02 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
什么是servlet
2012/05/08 面试题
大学军训感言
2014/01/10 职场文书
教师个人鉴定材料
2014/02/08 职场文书
幼儿园师德师风学习材料
2014/05/29 职场文书
公司应聘求职信
2014/06/21 职场文书
学校四风对照检查材料
2014/08/28 职场文书
2014年教师节活动总结
2014/08/29 职场文书
一个独生女的故事观后感
2015/06/04 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书