• php -- 取路径:getcwd()、__DIR__、__FILE__ 的区别


    来源:https://www.cnblogs.com/hf8051/p/4613103.html

    getcwd() :显示是 在哪个文件里调用此文件 的目录

    __DIR__ :当前内容写在哪个文件就显示这个文件目录

    __FILE__ : 当前内容写在哪个文件就显示这个文件目录+文件名

    由此可见

    getcwd()和 __DIR__ 返回的是文件所在的绝对路径但是没有文件自身的名字在内。

    __FILE__则是返回的是文件所在的绝对路径但是有文件自身的名字在内

    以下是百度来的参考资料
    在ch06中建立文件 test.php。目录为:ch06 est.php

    内容如下:

    1 <?php
    2 $a= getcwd();
    3 //变量a的值为D:phpzend6.1ch6
    4 
    5 $b=__FILE__;
    6 //变量b的值为D:phpzend6.1ch6	est.php
    7 
    8 ?>

    下面在ch06项目下建立文件夹admincp文件夹。在admincp文件夹下建立文件fff.php。目录为:ch06admincpfff.php

    代码如下

    1 <?php
    2 include_once '../test.php';
    3 echo $a;//变量a中的值是D:phpzend6.1ch6admincp
    4 echo '<pre>';
    5 echo $b;//变量b中的值是D:phpzend6.1ch6	est.php
    6 ?>

    由此可见,在另一个文件中包含test.php文件。在test.php文件中用getcwd()获取的test.php的路径变量a在包含之后发生变化。目录结构加上了ffff.php的所在目录admincp,所以·在用文件定位时__FILE__较好

    举例

     1 <?php
     2 
     3 define('PATH_ROOT',($PATH_ROOT=dirname(__FILE__))?$PATH_ROOT:'..');
     4 $PATH_admincp=PATH_ROOT.'admincp';
     5 $PATH_picture=PATH_ROOT.'pciture';
     6 $PATH_admincp_include=$PATH_admincp.'include';
     7 
     8 ?>
     9 
    10 <?php
    11 include_once dirname(__FILE__).'/../../path.php';
    12 include_once PATH_ROOT."/con_ini.php";
    13 
    14 ?>
  • 相关阅读:
    Linux 命令集合
    vsftpd 创建虚拟用户
    Java Web Socket
    Linux 命令集合
    YII 1.0 上传文件
    YII 1.0 扩展第三方类
    YII 1.0 发表文章用到的小物件
    YII 1.0 增删改查
    mysql 日志
    YII 1.0 小功能总结
  • 原文地址:https://www.cnblogs.com/laijinquan/p/9999235.html
Copyright © 2020-2023  润新知