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 ftp文件上传函数(基础版)
Jun 03 PHP
php中全局变量global的使用演示代码
May 18 PHP
php查找任何页面上的所有链接的方法
Dec 03 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
May 09 PHP
PHP中的Session对象如何使用
Sep 25 PHP
php中二分法查找算法实例分析
Sep 22 PHP
总结的一些PHP开发中的tips(必看篇)
Mar 24 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
Aug 01 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
在laravel中实现事务回滚的方法
Oct 10 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 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抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
document.open() 与 document.write()的区别
2007/08/13 Javascript
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
JQuery之拖拽插件实现代码
2011/04/14 Javascript
jquery简单的弹出层浮动层代码
2015/04/27 Javascript
jquery小火箭返回顶部代码分享
2015/08/19 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
原生js编写基于面向对象的分页组件
2016/12/05 Javascript
Javascript刷新页面的实例
2017/09/23 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
2018/08/30 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
Python批量修改文件后缀的方法
2014/01/26 Python
详解Python中的type()方法的使用
2015/05/21 Python
python开发中range()函数用法实例分析
2015/11/12 Python
Python的标准模块包json详解
2017/03/13 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
python属于软件吗
2020/06/18 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
新锐科技Java程序员面试题
2016/07/25 面试题
合同专员岗位职责
2013/12/18 职场文书
入党申请自荐书范文
2014/02/11 职场文书
护士长2014年度工作总结
2014/11/11 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server