PHP
文件系统 | File System

realpath

realpath

(PHP 4, PHP 5, PHP 7)

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

描述

string realpath ( string $path )

realpath()展开所有符号链接并解析对输入中的'/./','/../'和额外的'/'字符的引用,path并返回规范化的绝对​​路径名。

参数

path

正在检查的路径。

注意:虽然必须提供路径,但该值可以为空或NULL在这些情况下,该值将被解释为当前目录。

返回值

返回成功时规范化的绝对​​路径名。结果路径将没有符号链接,'/./'或'/../'组件。尾随分隔符,例如\和/,也被删除。

realpath()在失败时返回FALSE,例如,如果文件不存在。

注意:运行脚本必须对层次结构中的所有目录具有可执行权限,否则realpath()将返回FALSE

注意:对于不区分大小写的文件系统,realpath()可能会或可能不会规范化字符大小写。

注意:由于PHP的整数类型是有符号的,并且许多平台使用32位整数,所以对于大于2GB的文件,某些文件系统函数可能会返回意外的结果。

Changelog

版本描述
5.3.0在此版本之前,如果只有最后一个路径组件不存在,则realpath()在* BSD系统上不会失败。realpath()现在在这种情况下失败。
5.2.1在此版本之前,如果path是空字符串或NULL,则realpath()返回FALSE。

示例

Example #1 realpath() example

<?php chdir('/var/www/' echo realpath('./../../etc/passwd') . PHP_EOL; echo realpath('/tmp/') . PHP_EOL; ?>

上面的例子将输出:

/etc/passwd /tmp

Example #2 realpath() on Windows

在windows realpath()会将unix风格的路径更改为windows风格。

<?php echo realpath('/windows/system32' echo realpath('C:\Program Files\\' ?>

上面的例子将输出:

C:\WINDOWS\System32 C:\Program Files

另请参阅

  • basename() - 返回路径的结尾名称组件

  • dirname() - 返回父目录的路径

  • pathinfo() - 返回有关文件路径的信息

← realpath_cache_size

rename →