简化目录字符串

时间:2012-12-03 00:14:30

标签: php html

采用以下目录结构:

  • Parent1
    • 子文件夹
      • 儿童文件夹1
      • 儿童文件夹2

子文件夹2的路径为:

Parent/Child folder/Child Folder 2

但是,另一个有效路径也可以是

Parent/Child folder/Child Folder 1/../Child Folder 2

有没有办法“简化”路径,或转换路径,如:

Parent/Child folder/Child Folder 1/../Child Folder 2

Parent/Child folder/Child Folder 2

我试图找到一种方法从opendir($directory)给你的句柄中提取文件名,但我还没有找到办法。我也很确定必须有一些术语或更好的措辞而不是“简化”,但我不知道该搜索什么。 “简化路径”php没有多大帮助。

编辑:

我注意到realpath给了我完整的完整路径。它没有像Parent/Child folder/Child Folder 2那样为您提供相对的,而是C:\Path\To\Server\Directory\Parent\Child Folder\Child Folder 2 这有点令人失望,但我可以通过一些字符串操作将其转换回来。

3 个答案:

答案 0 :(得分:3)

如果路径确实存在,您可以使用realpath()来解析相对路径部分。它还解析了符号链接。

答案 1 :(得分:1)

尝试realpath()

$path = realpath('Parent/Child folder/Child Folder 1/../Child Folder 2');

答案 2 :(得分:1)

尝试使用函数realpath()