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 相关文章推荐
优化NFR之一 --MSSQL Hello Buffer Overflow
Oct 09 PHP
php在页面中调用fckeditor编辑器的方法
Jun 10 PHP
php中一个有意思的日期逻辑处理
Mar 25 PHP
php无限极分类实现的两种解决方法
Apr 28 PHP
PHP使用array_merge重新排列数组下标的方法
Jul 22 PHP
Joomla使用Apache重写模式的方法
May 04 PHP
PHP Cookie学习笔记
Aug 23 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
Sep 30 PHP
php实现网页端验证码功能
Jul 11 PHP
php7安装yar扩展的方法详解
Aug 03 PHP
调试php程序的简单步骤
Oct 04 PHP
对laravel的session获取与存取方法详解
Oct 08 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 __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
PHP导入导出Excel代码
2015/07/07 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
PHP中ltrim()函数的用法与实例讲解
2019/03/28 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
js 日期转换成中文格式的函数
2009/07/07 Javascript
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
js实现jquery的offset()方法实例
2015/01/10 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
2016/09/06 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
vue.js指令和组件详细介绍及实例
2017/04/06 Javascript
Angular实现响应式表单
2017/08/04 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
vue加载自定义的js文件方法
2018/03/13 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
详解Python编程中time模块的使用
2015/11/20 Python
Python 函数基础知识汇总
2018/03/09 Python
Python中的Numpy矩阵操作
2018/08/12 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
办公室内勤工作职责
2013/12/11 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
新人入职感言
2015/07/31 职场文书
python数字图像处理之图像的批量处理
2022/06/28 Python