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 strtr() 函数使用说明
Nov 21 PHP
php 用checkbox一次性删除多条记录的方法
Feb 23 PHP
分享PHP header函数使用教程
Sep 05 PHP
利用谷歌 Translate API制作自己的翻译脚本
Jun 04 PHP
php防止恶意刷新与刷票的方法
Nov 21 PHP
PHP制作用户注册系统
Oct 23 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
Apr 11 PHP
PHP的AES加密算法完整实例
Jul 20 PHP
PHP7如何开启Opcode打造强悍性能详解
May 11 PHP
Yii框架函数简单用法分析
Sep 09 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 PHP
Laravel + Elasticsearch 实现中文搜索的方法
Feb 02 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
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
自动跳转中英文页面
2006/10/09 PHP
Apache服务器无法使用的解决方法
2013/05/08 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
window.parent调用父框架时 ie跟火狐不兼容问题
2009/07/30 Javascript
纯css+js写的一个简单的tab标签页带样式
2014/01/28 Javascript
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
详解vue中组件参数
2018/07/09 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
Python实现的异步代理爬虫及代理池
2017/03/17 Python
python 实现数组list 添加、修改、删除的方法
2018/04/04 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
2021/01/26 Python
全球游戏Keys和卡片市场:GamesDeal
2018/03/28 全球购物
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
师范院校学生自荐信范文
2013/12/27 职场文书
大学应届生的自我评价
2014/03/06 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
护士工作失误检讨书
2014/09/14 职场文书
工作自我评价范文
2015/03/05 职场文书
2015年女职工工作总结
2015/05/15 职场文书
东京审判观后感
2015/06/01 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
Javascript的promise,async和await的区别详解
2022/03/24 Javascript
使用Mysql计算地址的经纬度距离和实时位置信息
2022/04/29 MySQL