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中使用PDF文档功能
Oct 09 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
黑夜路人出的几道php笔试题
Aug 04 PHP
PHP中防止SQL注入实现代码
Feb 19 PHP
php.ini修改php上传文件大小限制的方法详解
Jun 17 PHP
CodeIgniter安全相关设置汇总
Jul 03 PHP
php使用CURL伪造IP和来源实例详解
Jan 15 PHP
php项目中百度 UEditor 简单安装调试和调用
Jul 15 PHP
利用PHP抓取百度阅读的方法示例
Dec 18 PHP
Yii支持多域名cors原理的实现
Dec 05 PHP
PHP微商城开源代码实例
Mar 27 PHP
PHP数组Key强制类型转换实现原理解析
Sep 01 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日历
2015/11/17 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
javascript 写类方式之三
2009/07/05 Javascript
传智播客学习之java 反射
2009/11/22 Javascript
基于JQuery实现的Select级联
2014/01/27 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
vue实现单选和多选功能
2017/08/11 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
vue获取当前点击的元素并传值的实例
2018/03/09 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
解决pyCharm中 module 调用失败的问题
2020/02/12 Python
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
美国社交购物市场:MassGenie
2019/02/18 全球购物
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
Linux如何压缩可执行文件
2014/03/27 面试题
2015年元旦主持词结束语
2014/12/14 职场文书
2015年女职工工作总结
2015/05/15 职场文书
地雷战观后感
2015/06/09 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server