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 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
php批量删除数据
Jan 18 PHP
PHP中常用数组处理方法实例分析
Aug 30 PHP
PHP编程最快明白(第一讲 软件环境和准备工作)
Oct 25 PHP
paypal即时到账php实现代码
Nov 28 PHP
PHP解析目录路径的3个函数总结
Nov 18 PHP
浅谈php自定义错误日志
Feb 13 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
Jul 01 PHP
PHP微信支付实例解析
Jul 22 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
Feb 06 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
Jul 24 PHP
laravel5.1 ajax post 传值_token示例
Oct 24 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
Laravel 5.3 学习笔记之 错误&amp;日志
2016/08/28 PHP
JavaScript 数组的 uniq 方法
2008/01/23 Javascript
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
jquery slibings选取同级其他元素的实现代码
2013/11/15 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
vue根据值给予不同class的实例
2018/09/29 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
jQuery实现电梯导航模块
2020/12/22 jQuery
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python迭代器实例简析
2014/09/25 Python
Python Queue模块详解
2014/11/30 Python
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
Python列表与元组的异同详解
2019/07/02 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
薪酬专员岗位职责
2014/02/18 职场文书
安全大检查实施方案
2014/02/22 职场文书
办公室员工岗位工作职责
2014/03/10 职场文书
租房协议书怎么写
2014/04/10 职场文书
三年级评语大全
2014/04/23 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
法制主题班会教案
2015/08/13 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
校园安全教育心得体会
2016/01/15 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python
详解JAVA中的OPTIONAL
2021/06/14 Java/Android
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
Python实现文字pdf转换图片pdf效果
2022/04/03 Python