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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |