我想查找文件是否存在,但仅在提供完整文件路径时才会找到。
$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
。
必须有更好的方法。有任何想法吗 ?
答案 0 :(得分:2)
您可以使用realpath()
生成绝对路径,然后进行比较。
function is_absolute_path( $path ) {
return ( $path == realpath( $path ) );
}
如果提供的路径已经是绝对路径,则它应该与realpath()
生成的路径相同。