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";

?>
时间: 2024-11-10 18:57:00

php -- 取路径:getcwd()、__DIR__、__FILE__ 的区别的相关文章

获取PHP文件绝对地址$_SERVER[&#39;SCRIPT_FILENAME&#39;] 与 __FILE__ 的区别

通常情况下,PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 都会返回 PHP 文件的完整路径(绝对路径)与文件名: <?php echo 'SCRIPT_FILENAME 为:',$_SERVER['SCRIPT_FILENAME']; echo '<br />'; echo '__FILE__ 为:',__FILE__; ?> 上述测试代码拷贝至 test.php 并访问该文件(http://127.0.0.1/php/test.php),得

php$_SERVER[&#39;SCRIPT_NAME&#39;]和__FILE__的区别

$_SERVER['SCRIPT_FILENAME']          -------> 当前执行程序的绝对路径及文件名__FILE__                                                 -------> 原始文件(被包含文件)的绝对路径及文件名 eg:假设web根目录是 e:/myweb先建立 e:/myweb/index.php内容是:<?php require 'other/index2.php'; ?>再建立 e:/myweb

PHP $_SERVER[&#39;SCRIPT_FILENAME&#39;] 与 __FILE__ 的区别

通常情况下,PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 都会返回 PHP 文件的完整路径(绝对路径)与文件名: <?php echo 'SCRIPT_FILENAME 为:',$_SERVER['SCRIPT_FILENAME']; echo '<br />'; echo '__FILE__ 为:',__FILE__;//被包含文件中输出 ?> 上述测试代码拷贝至 test.php 并访问该文件(http://127.0.0.1/php/t

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

转自:https://www.cnblogs.com/hf8051/p/4613103.html getcwd() :显示是 在哪个文件里调用(运行)此文件 的目录 __DIR__ :当前内容写在哪个文件就显示这个文件目录 __FILE__ : 当前内容写在哪个文件就显示这个文件目录+文件名 由此可见 getcwd()和 __DIR__ 返回的是文件所在的绝对路径但是没有文件自身的名字在内. __FILE__则是返回的是文件所在的绝对路径但是有文件自身的名字在内 以下是百度来的参考资料在ch06

getcwd()和dirname(__FILE__)的区别

我个人理解:getcwd()会随着包含文件的改变而改变,而dirname(__FILE__)不会.即 getcwd() 表示获取当前执行文件的物理路径. 如 getcwd()显示: /www/project/test/a.php echo getcwd(); //echo /www/project/test   /www/project/b.php include_once(test/a.php); //echo /www/project 而dirname(__FILE__): /www/pro

php中 魔术常量__DIR__,__FILE__及函数dirname,basename

1 这几个常量和方法比较常用很多人容易混淆,这里详细介绍一下 2 3 __DIR__ :返回当前使用 '__DIR__'魔术常量的PHP文件所在目录 对于 /www/web/frontend/controllers/siteController.php 中 语句 echo __DIR__; 返回 '/www/web/frontend/controllers' 4 5 __FILE__:返回当前使用'__FILE__'魔术常量的PHP文件所在目录全路径(包含文件名及后缀) 对于 /www/web/

PHP __DIR__, __FILE__, __FUNCTION__, __CLASS__, __METHOD__, __LINE__, __NAMESPACE__

PHP has large number of predefined constants. This HOWTO will present the seven most important, most practical and most useful PHP Magic Constants. __FILE__ – The full path and filename of the file. __DIR__ – The directory of the file. __FUNCTION__ –

取模和求余的区别

通常情况下取模运算(mod)和求余(rem)运算被混为一谈,因为在大多数的编程语言里,都用'%'符号表示取模或者求余运算.在这里要提醒大家要十分注意当前环境下'%'运算符的具体意义,因为在有负数存在的情况下,两者的结果是不一样的. 对于整型数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余数: r = a - c*b. 求模运算和求余运算在第一步不同: 取模求余运算在取c的值时,向0 方向舍入(fix()函数): 而求余取模运算在计算c的值时,向

路径加/与不加/的区别

内容整合自百度: 加"/"是代表绝对路径,不加"/"是代表相对路径 前面一个是绝对路径,后面一个是相对路径. 假设你的这个html文件的路径是www.example.com/path/to/html/a.html, 那么src="/js/ibanner.js"指向www.example.com/js/ibanner.js, src="js/ibanner.js"指向www.example.com/path/to/html/js