转自: http://blog.sina.com.cn/s/blog_71ed1b870102vslg.html
我们在开发PHP项目过程中,经常会用到包含文件,所以有时候需要获取文件的相对路径或者绝对路径,以下我们就来详细的介绍常用的php获取文件路径的函数有哪些
realpath — 返回规范化的绝对路径名
realpath() 扩展所有的符号连接并且处理输入的 path 中的 '/./', '/../' 以及多余的 '/' 并返回规范化后的绝对路径名。返回的路径中没有符号连接,'/./' 或 '/../' 成分。
realpath() 失败时返回 FALSE,比如说文件不存在的话。在 BSD 系统上,如果仅仅是 path 不存在的话,PHP 并不会像其它系统那样返回 FALSE。
示例
$real_path = realpath(
"../../index.php"
);
这个是我最新才发现的,以前很少用过,今天看了一个php博客http://liqingbo.cn/才发现的,觉得挺好用的。
basename — 返回路径中的文件名部分
给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结束的,那这一部分也会被去掉。
在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符。在其它环境下是斜线(/)。
$path =
"/home/httpd/html/index.php"
;
$
file
=
basename
($path);
//
$
file
is
set
to
"index.php"
$
file
=
basename
($path,
".php"
);
//
$
file
is
set
to
"index"
dirname — 返回路径中的目录部分
给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。
在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符。在其它环境下是斜线(/)。
示例
$path =
"/etc/passwd"
;
$
file
=
dirname
($path);
//
$
file
is
set
to
"/etc"
下面是通过全局变量获取的
$_SERVER['DOCUMENT_ROOT'].""; //获得服务器文档根
$_SERVER['PHP_SELF'].""; //获得执行该代码的文件服务器绝对路径
FILE__.""; //获得文件的文件系统绝对路径
dirname(__FILE__); //获得文件所在的文件夹路径