file_exists means that a file exists.

The handle returned by file_open_* also says if the file could be opened.

You can also have a file that you cannot open, for instances because of missing privileges or because another process is using it.


Always learn from history, to be sure you make the same mistakes again...