解析php dirname()与__FILE__常量的应用


Posted in PHP onJune 24, 2013

__FILE__表示当前所在文件的绝对路径包括文件名,dirname(__FILE__)表示当前文件的绝对路径,basename(__FILE__)表示当前文件的文件名称,dirname(__FILE__)."/f/".basename(__FILE__)则表示当前文件所在目录下的f目录下的,文件名称为dirname(__FILE__)的文件,require表示包含该文件到这个文件。
下面是详解:
1)dirname(__FILE___) 函数返回的是脚本所在在的路径。
     比如文件 b.php 包含如下内容:
     <?php
    $basedir = dirname(__FILE__);
    ?>
    如果b.php被其他目录里的a.php文件require 或者 include 去引用的话。
    变量$basedir 的内容还是b.php所在的那个文件夹的路径。
    而不是变成a.php文件所在的目录。

2)dirname(__FILE__) 一般会返回文件所的当前目录到系统根目录的一个目录结构。
    不会返回当前的文件名称。
    dirname(__FILE__) 也可能返回一个 . (当前目录)
    [原因是 b.php 文件在 http.conf 或者 PHP 配置开发环境的默认WEB目录下.
    比如 WEB_ROOT 为: "C:/root/www/".]
    b.php文件路径为: "C:/root/www/b.php".

3)使用方法提示,
    如果重复一次可以把目录往上提升一个层次:
    比如:$d = dirname(dirname(__FILE__));
    其实就是把一个目录给dirname()做参数了.因为dirname()返回最后的目录不带\\或者是/
    所以重复使用的时候可以认为 dirname() 把最下层的目录当成文件名来处理了.照常返回
   当前目录的上级目录.这样重复就得到了它的上一级的目录.

4)包含得到上一级目录的文件
    include(dirname(__FILE__).''/../filename

PHP 相关文章推荐
php的header和asp中的redirect比较
Oct 09 PHP
PHP以及MYSQL日期比较方法
Nov 29 PHP
测试php函数的方法
Nov 13 PHP
PHP错误和异长常处理总结
Mar 06 PHP
初识php MVC
Sep 10 PHP
6个超实用的PHP代码片段
Aug 10 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
Laravel使用消息队列需要注意的一些问题
Dec 13 PHP
YII框架关联查询操作示例
Apr 29 PHP
Yii 使用intervention/image拓展实现图像处理功能
Jun 22 PHP
php回调函数处理数组操作示例
Apr 13 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 #PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
Jun 24 #PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 #PHP
163的邮件用phpmailer发送(实例详解)
Jun 24 #PHP
phpmailer发送gmail邮件实例详解
Jun 24 #PHP
深入php中var_dump方法的使用详解
Jun 24 #PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
Jun 24 #PHP
You might like
PHP Session变量不能传送到下一页的解决方法
2009/11/27 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
yii的CURD操作实例详解
2014/12/04 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
Laravel下生成验证码的类
2017/11/15 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
js程序中美元符号$是什么
2008/06/05 Javascript
jquery获取input表单值的代码
2010/04/19 Javascript
JavaScript日历实现代码
2010/09/12 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
2016/05/05 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
深入浅析python with语句简介
2018/04/11 Python
python隐藏终端执行cmd命令的方法
2019/06/24 Python
python利用tkinter实现图片格式转换的示例
2020/09/28 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
alice McCALL官网:澳大利亚时尚品牌
2020/11/16 全球购物
阿尔卡特(中国)的面试题目
2014/08/20 面试题
什么是View State?
2013/01/27 面试题
二年级数学教学反思
2014/01/21 职场文书
总经理助理的职责
2014/03/14 职场文书
高中生学习计划书
2014/09/15 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
银行自荐信怎么写
2015/03/05 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS
Mysql 一主多从的部署
2022/05/20 MySQL