首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

realpath

(PHP 4, PHP 5, PHP 7)

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

描述

代码语言:javascript
复制
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

代码语言:javascript
复制
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;

echo realpath('/tmp/') . PHP_EOL;
?>

上面的例子将输出:

代码语言:javascript
复制
/etc/passwd
/tmp

Example #2 realpath() on Windows

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

代码语言:javascript
复制
<?php
echo realpath('/windows/system32');

echo realpath('C:\Program Files\\');
?>

上面的例子将输出:

代码语言:javascript
复制
C:\WINDOWS\System32
C:\Program Files

另请参阅

  • basename() - 返回路径的结尾名称组件
  • dirname() - 返回父目录的路径
  • pathinfo() - 返回有关文件路径的信息

← realpath_cache_size

rename →

扫码关注腾讯云开发者

领取腾讯云代金券