`

PHP中 __FILE__ 和 dirname(__FILE__) 使用

    博客分类:
  • PHP
阅读更多

  __FILE__    返回网站根目录

dirname(__FILE__) 就是取得当前文件所在的目录

echo dirname(__FILE__);---->>>D:\Program Files\Apache Software\Apache2.2\htdocs\php

如:

include,include_once,require,require_once,包含某个文件,最近在写PHP程序时,遇到了很多麻烦就在 此处,一般来说我喜欢写相对路径,但是同一个文件在不同位置引用时相对路径都不同。。这样的话一个功能调通了,另一个功能又出现问题了,后来花了好长时间 才解决这个问题:

    利用PHP中的一个常数__FILE__,和函数dirname();

    __file__

    这个内定常数是当前php程序的就是完整路径(路径+文件名)。

    即使这个文件被其他文件引用(include或require),__file__始终是它所在文件的完整路径,而不是引用它的那个文件完整路径。

    请看下面例子:
c:/appserv/www/test/1 /a.php

 


<?php
$
the_full_name=__FILE__;
$ the_dir=dirname(__FILE__);
echo $ the_full_name; //返回c:/appserv/www/test/1/a.php

echo $ the_dir;            //返回c:/appserv/www/test/1

?>

c:/appserv/www/test/b.php

 


<?php

include "test/a.php";
echo $ the_full_name; //返回c:/appserv/www/test/1/a.php
echo $ the_dir;            //返回c:/appserv/www/test/1

?>

简单地说:
      __FILE__     返回当前 路径+文件名
      dirname(__FILE__) 返回当前文件路径的 路径部分
      dirname(dirname(__FILE__));得到的是文件上一层目录名(不含最后一个“ /”号)

例如,当前文件是 c:/appserv/www/test/ test.php ,则
__FILE__ 得到的就是完整路径       即 c:/appserv/www/test/ test.php ,而
dirname(__FILE__)得到路径部分   即 c:/appserv/www/test      (后面没有“ /”号)

例如上面的c:/appserv/www/test/b.php就可以这样写:

 


<?php

include dirname(__FILE__)."/b.php";
echo $ the_full_name; //返回c:/appserv/www/test/1/a.php
echo $ the_dir;            //返回c:/appserv/www/test/1

?

 

 

原文地址是:http://blog.csdn.net/zyyr365/archive/2010/09/10/5875388.aspx

                  http://www.liangkun.net

   z

分享到:
评论

相关推荐

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

    在php中__FILE__当前运行文件的完整路径和文件名,如果用在被包含文件中,则返回被包含的文件名,这是一个魔法变量(预定义常量),我们可以通用dirname与basename来获取文件目录或文件名. 一、__FILE__与dirname(__FILE...

    php getcwd与dirname(__FILE__)区别详解

    __FILE__是魔术常量,用于获取文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。 下面我们通过实例来介绍getcwd与dirname(__FILE__)区别。  文件/folder/random/foo.php的代码如下: &lt;?...

    PHP dirname(__FILE__)原理及用法解析

    dirname(dirname(_FILE_)); 假设__FILE__为 /home/web/...php中定义了一个很有用的常数,即:_file_ 这个内定常数是所在php程序文件的完整路径(路径+文件名)。 即使这个文件被其他文件引用(include或require),__fil

    php dirname(__FILE__) 获取当前文件的绝对路径

    __FILE__ :被称为PHP魔术常量 ,返回当前执行PHP脚本的完整路径和文件名,包含一个绝对路径 1)dirname(__FILE__) 函数返回的是脚本所在在的路径。 比如文件 b.php 包含如下内容: &lt;?php $basedir = dirname(__...

    PHP 中dirname(_file_)讲解

     /* 假设__FILE__为 /home/web/config/config.php 上面的方法输出为 /home/web */ dirname(dirname(__FILE__));得到的是文件上一层目录名 dirname(__FILE__);得到的是文件所在层目录名 

    dirname(__FILE__)的含义和应用说明

    __FILE__表示当前所在文件的绝对路径包括文件名,dirname(__FILE__)表示当前文件的绝对路径,basename(__FILE__)表示当前文件的文件名称,dirname(__FILE__).”/f/”.basename(__FILE__)则表示当前文件所在目录下的f...

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

    __FILE__表示当前所在文件的绝对路径包括文件名,dirname(__FILE__)表示当前文件的绝对路径,basename(__FILE__)表示当前文件的文件名称,dirname(__FILE__).”/f/”.basename(__FILE__)则表示当前文件所在目录下的f...

    php的简单分词类库.zip

    define('APP_ROOT', str_replace('\\', '/', dirname(__FILE__))); function get_tags_arr($title)  { require(APP_ROOT.'/pscws4.class.php');  $pscws = new PSCWS4(); $pscws-&gt;set_dict(APP_ROOT.'...

    PHP 的 __FILE__ 常量

    php $basedir = dirname(__FILE__); ?&gt; 如果b.php被其他目录里的a.php文件require 或者 include 去引用的话。 变量$basedir 的内容还是b.php所在的那个文件夹的路径。 而不是变成a.php文件所在的目录。 ...

    php接口数据加密、解密、验证签名

    include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.’phpsec’.DIRECTORY_SEPARATOR.’Math’.DIRECTORY_SEPARATOR.’BigInteger.php’); include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR...

    PHP 获取文件路径(灵活应用__FILE__)

    __FILE__ ,是返回文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。dirname(__FILE__),返回当前文件...

    PHP 得到根目录的 __FILE__ 常量

    PHP 的 __FILE__ 常量(如何得到根目录) dirname(__FILE___) 函数返回的是脚本所在在的路径。 比如文件 b.php 包含如下内容: $basedir = dirname(__FILE__); ?&gt; 如果b.php被其他目录里的a.php文件require...

    PHP中file_exists函数不支持中文名的解决方法

    一般来说PHP中常使用file_exists()判断某个文件或者文件夹是否存在,如果存在则返回true,否则返回false。但是该函数在网页使用UTF8编码的情况下,对于中文的文件名或者文件夹名不能返回正确值,始终返回false。经...

    PHP中几个常用的魔术常量

    有七个魔术常量它们的值随着它们在代码中的位置改变而改变。例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下: ...它等价于 dirname(__FILE__)。除非是根目录,否

    处理推送消息的PHP库.zip

    $versions = GitVersionCollection::create(dirname(__FILE__) . '/src') -&gt;add('master', 'master branch') -&gt;addFromTags('1.*') ; return new Sami(dirname(__FILE__) . '/src', array('title' =...

Global site tag (gtag.js) - Google Analytics