16

file_exists()如果它指向一个目录,我读过它也可以返回。检查是否只有文件存在的最快方法是什么?

目前我有:

/**
 * Check if the file exists.
 *
 * @return bool
 */
public function exists() {
    if(is_null($this->_file)) return false;

    return (!is_dir($this->_file) && file_exists($this->_file)) ? true : false;
}

我发现了很多与检查 PHP 中的文件是否存在有关的帖子,但没有任何关于目录以及如何最好地检查它的帖子。

这种方法可以调用 1000 秒,所以我真的可以让它尽可能快。

4

3 回答 3

27

您正在寻找以下is_file功能:

public function exists() {
    return $this->_file !== null && is_file($this->_file);
}
于 2012-11-19T12:18:20.763 回答
4
public function exists() {
    return !is_dir($this->_file) && file_exists($this->_file);
}
于 2012-11-19T12:19:43.870 回答
1

您可以仅对文件尝试此操作。它是您将调用的自定义函数而不是file_exists函数

 function custom_file_exists($filePath)
    {
          if((is_file($filePath))&&(file_exists($filePath))){
            return true;
          }   
          return false;
    }
于 2015-01-15T10:19:04.693 回答