检查是否存在具有绝对和相对路径的文件

2022-08-31 00:21:21

有没有办法检查文件(具有绝对路径或相对路径)是否存在?我使用PHP。我找到了几种方法,但它们要么只接受绝对或相对,但不能两者兼而有之。谢谢。


答案 1

file_exists($file);对相对路径和绝对路径都执行该操作。

然而,更有用的是拥有绝对路径而不对其进行硬编码。最好的方法是使用它以ether UNIX或Windows格式获取当前文件的目录的完整路径。然后我们可以使用 realpath(),如果文件不存在,它可以方便地返回 false。然后,您所要做的就是指定该文件目录中的相对路径,并将其放在一起:dirname(__FILE__)

$path = dirname(__FILE__) . '/include.php';
if (realpath($path)) {
    include($path);
}

答案 2

您可以使用 realpath 来检查给定路径的文件是否存在,并检索该文件的扩展路径:

$absPath = realpath($path);
if ($absPath === false) {
    // invalid path
}

推荐