php如何获取文件的绝对路径

时间:2016-08-24
在php项目开发中,我们有时候需要获取一个文件的绝对路径,这个时候该如何实现呢,其实很简单,在php中有一个内置文件函数可以获取文件的绝对路径,这个函数是realpath(),本文章向大家介绍如何使用realpath获取文件的绝对路径,需要的朋友可以参考一下。

下面先来看一下如何使用realpath函数获取文件的绝对路径:

<?php
   $imgPath = "./readme.txt";
   $absolutePath = realpath($imgPath);
   /* http://www.manongjc.com/article/1395.html */
   echo $absolutePath;
?>

运行结果:

C:\wamp\www\xuexiao\readme.txt

接着我们来了解一下realpath函数:

PHP realpath路径函数会检测$path指向的目标文件(或文件夹)是否真实存在,相当于调用了file_exists($path)。如果目标文件存在且不是符号连接(windows下叫“快捷方式”),则返回该文件的绝对路径名,且不包含’/./’ 或 ‘/../’。如果目标文件是符号连接或不存在,则realpath()返回FALSE。

realpath函数基本语法和参数如下:

realpath — 返回规范化的绝对路径名 

语法:

string realpath  ( string $path  )

realpath()  扩展所有的符号连接并且处理输入的 path 中的 '/./', '/../' 以及多余的 '/' 并返回规范化后的绝对路径名。返回的路径中没有符号连接,'/./' 或 '/../' 成分。 

参数:

  1. path 要检查的路径。  

返回值:

如果目标文件存在且不是符号连接(windows下叫“快捷方式”),则返回该文件的绝对路径名,且不包含’/./’ 或 ‘/../’。如果目标文件是符号连接或不存在,则realpath()返回FALSE。

realpath() 失败时返回 FALSE ,比如说文件不存在的话。 

注意:因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型,对 2GB 以上的文件,一些文件系统函数可能返回无法预期的结果 。