Hola,
La @ sirve para evitar que se muestre el mensaje de error de esa linea o funcion. Se usa en cualquier funcion, no solo fopen(). La verion oficial:
http://www.php.net/manual/en/languag...rorcontrol.php . Mi recomendacion es que no lo uses durante el desarrollo del script, y luego solo para ocultar los mensajes si no puedes cambiar la configuracion para todo el script.
Saludos.