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开发文件系统实例讲解
Oct 09 PHP
php 多个submit提交表单 处理方法
Jul 07 PHP
一个PHP的String类代码
Apr 20 PHP
PHP设计模式之装饰者模式
Feb 29 PHP
php中get_headers函数的作用及用法的详细介绍
Apr 27 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
PHP strcmp()和strcasecmp()的区别实例
Nov 05 PHP
thinkphp实现分页显示功能
Dec 03 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
PHP判断json格式是否正确的实现代码
Sep 20 PHP
PHP 使用二进制保存用户状态的实例
Jan 29 PHP
php语法检查的方法总结
Jan 21 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
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
用PHP调用Oracle存储过程
2006/10/09 PHP
redis 队列操作的例子(php)
2012/04/12 PHP
smarty简单分页的实现方法
2014/10/27 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
jQuery中addClass()方法用法实例
2015/01/05 Javascript
给before和after伪元素设置js效果的方法
2015/12/04 Javascript
Bootstrap 布局组件(全)
2016/07/18 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
JQuery实现定时刷新功能代码
2017/05/09 jQuery
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
2017/07/04 Javascript
在vue中获取dom元素内容的方法
2017/07/10 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
Python实现读取并保存文件的类
2017/05/11 Python
用Python设计一个经典小游戏
2017/05/15 Python
如何使用python代码操作git代码
2020/02/29 Python
浅谈Python中的模块
2020/06/10 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
18岁生日感言
2014/01/12 职场文书
初中英语教学反思
2014/01/25 职场文书
节水倡议书范文
2014/04/15 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
Python图像处理之图像拼接
2021/04/28 Python
带你学习MySQL执行计划
2021/05/31 MySQL
手把手教你导入Go语言第三方库
2021/08/04 Golang
Java设计模式之享元模式示例详解
2022/03/03 Java/Android