El carácter @ se utiliza para que PHP no devuelva los errores si una llamada a una función causa un error en tiempo de ejecución. También bloquea los posibles warning.
Simplemente lo que se consigue es que PHP no muestre el típico mensaje de error con el motivo del error, el archivo y la línea de código específica donde se ha provocado.
La línea de código que comentas sirve para que opendir() no te muestre un posible warning si el directorio que intentas abrir no existe o no se puede leer porque no tengas los correspondientes permisos.
Miguel Angel
3295
146
215
17