PHP常用获取文件路径的函数集合整理

时间:2021-05-20 22:09:32

转自: 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__); //获得文件所在的文件夹路径