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 相关文章推荐
同时提取多条新闻中的文本一例
Oct 09 PHP
将数组写入txt文件 var_export
Apr 21 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
Oct 15 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
thinkphp中空模板与空模块的用法实例
Nov 26 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
如何在HTML 中嵌入 PHP 代码
May 13 PHP
PHP验证码生成原理和实现
Jan 24 PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 PHP
详解PHP防止直接访问.php 文件的实现方法
Jul 28 PHP
PHP设计模式之模板方法模式定义与用法详解
Apr 02 PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 04 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
论建造顺序的重要性
2020/03/04 星际争霸
php Ajax乱码
2008/04/09 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
利用PHP实现短域名互转
2013/07/05 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
php文件系统处理方法小结
2016/05/23 PHP
再谈PHP中单双引号的区别详解
2016/06/12 PHP
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
JavaScript学习笔记之基础语法
2015/01/22 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
javascript标准库(js的标准内置对象)总结
2018/05/26 Javascript
浅析JS中回调函数及用法
2018/07/25 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
Python的Flask框架的简介和安装方法
2015/11/13 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
21岁生日感言
2014/02/27 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
员工安全生产责任书
2014/07/22 职场文书
五四演讲稿范文
2014/09/03 职场文书
尊师重教演讲稿
2014/09/04 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
Python学习开发之图形用户界面详解
2021/08/23 Python