加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php获取当前路径和目录的几种方法及区别

发布时间:2020-12-13 05:18:10 所属栏目:PHP教程 来源:网络整理
导读:php获取当前路径和目录的几种方法 使用__FILE__魔术变量 使用__DIR__魔术变量 使用超全局变量$_SERVER["PHP_SELF"]和$_SERVER["SCRIPT_NAME"]以及$_SERVER["SCRIPT_FILENAME"] 使用getcwd函数 他们之间的区别请看下面具体实例: /** * php获取当前路径和目录

php获取当前路径和目录的几种方法

使用__FILE__魔术变量

使用__DIR__魔术变量

使用超全局变量$_SERVER["PHP_SELF"]和$_SERVER["SCRIPT_NAME"]以及$_SERVER["SCRIPT_FILENAME"]

使用getcwd函数

他们之间的区别请看下面具体实例:

/**

* php获取当前路径和目录的几种方法及区别

* http://www.manongjc.com

*/

//__FILE__魔术变量用于获取当前文件的绝对路径

echo "__FILE__的值为: ".__FILE__;

echo '
';

//__DIR__魔术变量用于获取当前脚本的目录

echo "__DIR__的值为: ".__DIR__;

echo '
';

/*超全局变量$_SERVER['PHP_SELF']和$_SERVER['SCRIPT_NAME']的结果一般都是一样的,它们都是获取当前脚本的文件名,只有当php以cgi方式运行时有区别,但是现在几乎找不到以cgi方式运行php了*/

echo '$_SERVER["PHP_SELF"]的值为: '.$_SERVER['PHP_SELF'];

echo '
';

echo '$_SERVER["SCRIPT_NAME"]的值为: '.$_SERVER['SCRIPT_NAME'];

echo '
';

//超全局变量$_SERVER["SCRIPT_FILENAME"]用于获取当前执行脚本的绝对路径。记住,在CLI方式运行php是获取不到的

echo '$_SERVER["SCRIPT_FILENAME"]的值为: '.$_SERVER['SCRIPT_FILENAME'];

echo '
';

//php getcwd()函数用于获取当前工作目录

echo "getcwd(): ========> ".getcwd();

echo '
';

运行结果为:

这里特别强调一下__FILE__与getcwd()的区别

魔术常量__FILE__来获取当前文件的绝对路径,而不管当前的文件是否是被其他文件包含的,这在很多情况下是非常有用的,但有时当我们进行读写文件之类的操作时,相对的是当前脚本的工作目录,也就是入口php文件的目录,此时可以采用php提供的另一个函数 getcwd()来获取

请看下面实例:

include APPPATH.'libraries/api/base.api.php';

include APPPATH.'libraries/api/organ.api.php';

include APPPATH.'libraries/api/task.api.php';

include APPPATH.'libraries/api/pay.api.php';

class Notice extends MY_Controller{

public $coid = 0;

public function index(){

echo getcwd();

echo '
';

echo __FILE__;

}

}

运行的结果对比,差别就一目了然了:

/data/html/test.oa/public

/data/html/test.oa/application/controllers/notice.php

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读