(PHP 4, PHP 5, PHP 7)

file_existsChecks whether a file or directory exists


file_exists ( string $filename ) : bool

Checks whether a file or directory exists.



Path to the file or directory.

On windows, use //computername/share/filename or \\computername\share\filename to check files on network shares.

Return Values

Returns TRUE if the file or directory specified by filename exists; FALSE otherwise.


This function will return FALSE for symlinks pointing to non-existing files.


This function returns FALSE for files inaccessible due to safe mode restrictions. However these files still can be included if they are located in safe_mode_include_dir.


The check is done using the real UID/GID instead of the effective one.

Note: Because PHP's integer type is signed and many platforms use 32bit integers, some filesystem functions may return unexpected results for files which are larger than 2GB.


Example #1 Testing whether a file exists


if (
file_exists($filename)) {
"The file $filename exists";
} else {
"The file $filename does not exist";


Upon failure, an E_WARNING is emitted.


Note: The results of this function are cached. See clearstatcache() for more details.


As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to Supported Protocols and Wrappers to determine which wrappers support stat() family of functionality.

See Also

  • is_readable() - Tells whether a file exists and is readable
  • is_writable() - Tells whether the filename is writable
  • is_file() - Tells whether the filename is a regular file
  • file() - Reads entire file into an array