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でファイルが存在するかどうかのチェックに関連する投稿がたくさん見つかりましたが、ディレクトリとこれをチェックするための最良の方法については何も説明していません。

このメソッドは何千回も呼び出される可能性があるので、できるだけ速くすることができました。

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 に答える