When displaying images on our website, we check if the file exists with a call to file_exists(). We fall back to a dummy image if the file was missing.
Howe
Use absolute paths! Depending on your include_path setting PHP checks all(!) these dirs if you check relative file paths! You might unset include_path temporarily before checking the existence.
realpath() does the same but I don't know if it is faster.
But file access I/O is always slow. A hard disk access IS slower than calculating something in the processor, normally.