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

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

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

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

 

由此可见

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

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

 

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

内容如下:

<?php
$a= getcwd();
//变量a的值为D:\php\zend6.1\ch6

$b=__FILE__;
//变量b的值为D:\php\zend6.1\ch6\test.php

?>

 

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

代码如下

<?php
include_once '../test.php';
echo $a;//变量a中的值是D:\php\zend6.1\ch6\admincp
echo '<pre>';
echo $b;//变量b中的值是D:\php\zend6.1\ch6\test.php
?>

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

举例

复制代码
<?php

define('PATH_ROOT',($PATH_ROOT=dirname(__FILE__))?$PATH_ROOT:'..');
$PATH_admincp=PATH_ROOT.'\admincp';
$PATH_picture=PATH_ROOT.'\pciture';
$PATH_admincp_include=$PATH_admincp.'\include';

?>

<?php
include_once dirname(__FILE__).'/../../path.php';
include_once PATH_ROOT."/con_ini.php";

?>
复制代码

 

posted @   goodup  阅读(60033)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

如有不对之处,欢迎指出,一起成长

点击右上角即可分享
微信分享提示