在PHP中清理文件路径

时间:2012-02-21 21:13:46

标签: php realpath

在PHP中,是否有一个函数可以执行类似于realpath()的逻辑,但是文件系统中可能不存在的文件?显然它无法解析链接等,但我的目标是查看用户提供的路径是否在特定目录(或该目录的子目录)中,而不必考虑/.././我自己的问题的路径类型。如果在文件不存在时没有返回false,则调用realpath将是完美的。

2 个答案:

答案 0 :(得分:1)

如果您只关注文件,请尝试:

function unrealpath($path){
  $rp = realpath(dirname($path));
  if( false === $rp )
    return false;
  return $rp.basename($path);
}

如果您对现有或不存在的目录有疑虑,这将无效。

答案 1 :(得分:0)

如果你只需要删除/../一个自编写的函数就不会那么困难了。 只需将字符串拆分到数组上,迭代数组并将值插入新数组中。如果你点击..删除插入新数组中的最后一个元素。然后将第二个数组合并回一个字符串。