PHP获取文件真实路径(清理路径信息)

本函数区别于realpath,并非基于真是存在的文件系统获取文件路径。故应用范围更为广泛一些,即使文件系统中没有该文件,也可以获得文件的真实路径。

/**
 * 整理文件路径
 * 作者: 若海[wang@rehiy.com]
 */
function path_tidy(path) {tidy = array();
    path = strtr(path, '\\', '/');
    foreach(explode('/', path) asi => item) {
        if(item == '' || item == '.' ) {
            continue;
        }
        if(item == '..' && end(tidy) != '..' &&i > 0) {
            array_pop(tidy);
            continue;
        }tidy[] = item;
    }
    return (path[0]=='/'?'/':'').implode('/', $tidy);
}

//下例将输出/a/b/d/e
echo path_tidy('/u/../a/./b/c/../d/e/./');

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注