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 →