Ja. Aber es scheint so gewollt. php.net sagt:
**Errors/Exceptions**
If the open fails, an error of level E_WARNING is generated. You may use @ to suppress this warning.
Das gilt für fopen und file_exists. D.h. um die Warnung zu vermeiden, müsste man vorher einen Directory Scan machen. Dazu hat man aber nicht unbedingt das Recht. Es scheint, als wäre @ hier unvermeidlich.
Rolf