我想知道文件是否存在,但前提是提供了完整的文件路径。
$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
匹配。
一定有更好的办法。有什么想法吗?
您可以使用realpath()
生成绝对路径,然后进行比较。
function is_absolute_path( $path ) {
return ( $path == realpath( $path ) );
}
如果提供的路径已经是绝对路径,则它应该与realpath()
生成的路径相同。