2

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

4

2 回答 2

1

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

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

如果您担心目录是否存在,这将不起作用。

于 2012-02-24T13:58:54.110 回答
0

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

于 2012-02-21T22:49:03.073 回答