PHP只允许使用is_file的完整路径

时间:2016-05-16 15:11:14

标签: php

我想查找文件是否存在,但仅在提供完整文件路径时才会找到。

$file = "C://dir/dir/file.txt"; // should return true

$file = "file.txt" //should return false;

两个文件都存在,实际上它们是同一个文件。

function is_absolute_file($file){

    return is_file($file) && strpos($file, ":". DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR) === 1 ;
}

虽然这确实有用,但我必须对所有版本进行str_replace以确保它们匹配DIRECTORY_SEPARATOR

必须有更好的方法。有任何想法吗 ?

1 个答案:

答案 0 :(得分:2)

您可以使用realpath()生成绝对路径,然后进行比较。

function is_absolute_path( $path ) {
  return ( $path == realpath( $path ) );
}

如果提供的路径已经是绝对路径,则它应该与realpath()生成的路径相同。