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格式化工具Beautify PHP小小BUG
Apr 24 PHP
phpinfo 系统查看参数函数代码
Jun 05 PHP
phpmail类发送邮件函数代码
Feb 20 PHP
php设计模式之单例、多例设计模式的应用分析
Jun 30 PHP
php通过分类列表产生分类树数组的方法
Apr 20 PHP
php代码检查代理ip的有效性
Aug 19 PHP
如何使用PHP给图片加水印
Oct 12 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
May 30 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
Sep 30 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
网络资源
2006/10/09 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
php自定义分页类完整实例
2015/12/25 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
js实现股票实时刷新数据案例
2017/05/14 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
Django中的ajax请求
2018/10/19 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
打造经典复古风格的品牌:Alice + Olivia(爱丽丝+奥利维亚)
2016/09/07 全球购物
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
机电一体化职业规划书
2014/01/07 职场文书
铁路个人事迹材料
2014/01/30 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
演讲主持词
2014/03/18 职场文书
交通事故委托书范本
2014/09/28 职场文书
关于运动会广播稿50字
2014/10/18 职场文书
预备党员自我评价范文
2015/03/04 职场文书
材料员岗位职责范本
2015/04/11 职场文书
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python