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

__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

时间: 2024-10-27 05:34:46

解析php dirname()与__FILE__常量的应用_php技巧的相关文章

PHP中__FILE__、dirname与basename用法实例分析_php技巧

本文实例讲述了PHP中__FILE__.dirname与basename用法.分享给大家供大家参考.具体方法如下: 在php中__FILE__当前运行文件的完整路径和文件名,如果用在被包含文件中,则返回被包含的文件名,这是一个魔法变量(预定义常量),我们可以通用dirname与basename来获取文件目录或文件名. 一.__FILE__与dirname(__FILE__)与basename(__FILE__)使用: 通常在配置文件路径的时候用dirname(__FILE__)是非常有效的方法,

PHP解析目录路径的3个函数总结_php技巧

要描述一个文件的位置,可以使用决对路径和相对路径.绝对路径是从根开始一级一级地进入各个子目录,最后指定该文件名或目录名.而相对目录是从当前目录进入某目录,最后指定该文件名或目录名.在系统的每个目录下都有两个特殊的目录"."和"..",分别指示当前目录和当前目录的父目录(上一级目录).例如: 复制代码 代码如下: $unixPath = "/var/www/html/index.php"; –在UNIX系统中绝对路径,必须使用"/&quo

php解析字符串里所有URL地址的方法_php技巧

本文实例讲述了php解析字符串里所有URL地址的方法.分享给大家供大家参考.具体如下: <?php // $html = the html on the page // $current_url = the full url that the html came from //(only needed for $repath) // $repath = converts ../ and / and // urls to full valid urls function pageLinks($ht

PHP之变量、常量学习笔记_php技巧

有关变量的传地址赋值 PHP 3 中,变量总是传值赋值.PHP 4 提供了另外一种方式给变量赋值:传地址赋值.使用传地址赋值,即简单地追加一个(&)符号到将要赋值的变量前(源变量).这意味着新的变量简单的引用了原始变量,改动新的变量将影响到原始变量,反之亦然. <?php $foo = 'Bob'; $bar = &$foo; $bar = "My name is $bar"; echo $bar; echo $foo;  ?>  变量foo只在首行被赋值,

PHP的魔术常量__METHOD__简介_php技巧

__METHOD__ 是PHP5之后新增的魔术常量,表示的是类文法的名称.魔术常量是一种PHP预定义常量,它的值可以是变化的,PHP中的其它已经存在的魔术常量有__LINE__.__FILE__.__FUNCTION__.__CLASS__等. 下面就用一小段代码来演示一下__METHOD__的用法. <?php class chhua{ function test(){ echo __METHOD__; } } $e=new chhua(); $e->test();//输出:chhua::t

php 解析xml 的四种方法详细介绍_php技巧

php 解析xml 的四种方法 XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument. 1. XML Expat Parser: XML Parser使用Expat XML解析器.Expat是一种基于事件的解析器,它把XML文档视为一系列事件.当某个事件发生时,它调用一个指定的函数处理它.Expat是无验证的解析器,忽略任何链接到文档的DTD.但是,如

将酷狗krc歌词解析并转换为lrc歌词php源码_php技巧

最近在进行一次对酷狗音乐歌词采集时发现酷狗音乐的歌词直接浏览都是"乱码",自己平时所见的歌词都是lrc格式的文本,这种酷狗专用的krc格式的显然是经过特别处理过的,平时用酷狗听音乐也没仔细看他的歌词有什么不同,只是与天天静听等不同的是可以逐字高亮显示歌词. 对酷狗的flash播放器进行反编译,发现这段krc解密的ActionScript代码: public function loaderCompleteHandler(param1:ByteArray) : void{ this.new

解析如何用php screw加密php源代码_php技巧

在使用PHP过程中发现,自己编写的php代码因为都是源代码方式放在服务器上的所以很容易就被别人拿走随便修改(变成自己开发的)使用了.为了保住自己的劳动成果,我一直寻找一种可以加密php代码的软件.最著名的就是Zend公司的Zendencoder了,但是不是开源软件(要价很高,也没有找到破解版).既然收费的用不起,我们就用开源的.我找到了php_screw这个开源软件,目前最新版本是1.5安装环境系统:centos 5.3软件:Apache 2.2.9PHP 5.2.10以上环境全部是自己下载配置

PHP用SAX解析XML的实现代码与问题分析_php技巧

复制代码 代码如下: <?php $g_books = array(); $g_elem = null; function startElement( $parser, $name, $attrs ) { global $g_books, $g_elem; if ( $name == 'BOOK' ) $g_books []= array(); $g_elem = $name; } function endElement( $parser, $name ) { global $g_elem; $