我们在开发PHP项目过程中,经常会用到包含文件,所以有时候需要获取文件的相对路径或者绝对路径,以下我们就来详细的介绍常用的php获取文件路径的函数有哪些
realpath — 返回规范化的绝对路径名
realpath() 扩展所有的符号连接并且处理输入的 path 中的 '/./', '/../' 以及多余的 '/' 并返回规范化后的绝对路径名。返回的路径中没有符号连接,'/./' 或 '/../' 成分。
realpath() 失败时返回 FALSE,比如说文件不存在的话。在 BSD 系统上,如果仅仅是 path 不存在的话,PHP 并不会像其它系统那样返回 FALSE。
示例
$real_path = realpath("../../index.php");
这个是我最新才发现的,以前很少用过
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__.""; //获得文件的文件系统绝对路径
echo dirname(__FILE__); //获得文件所在的文件夹路径