¿Viendo y no ves?
Ahora resulta que foreach() necesita un array para poder iterar, ¿si sabes lo que devuelve la función fread()?
Porque no devuelve precisamente un array, devuelva una cadena.
Por eso siempre digo que hay que leer el manual, no hacerse ideas absurdas en la mente.