Apenas para complementar o comentário do colega,
f significa file = arquivo.
eof significa end of file = final de arquivo
alguns conectivos lógicos precisam ser considerados,
! significa negação,
== significa igual(=),
!= significa diferente.(dependendo da linguagem alguns conectivos lógicos mudam, mas esses são mais certos)
Então o código está dizendo na primeira linha pra seguir um loop "enquanto não for fim de arquivo fazer o que se pede nas linhas abaixo (dentro do loop) e passa como parâmetro $fd.
Dentro desse loop, $line recebe o resultado de outra função fgets (essa função nada mais faz que lê uma cadeira de caracteres de dentro do arquivo até determinado tamanho, também passado como parâmetro, no caso desse exemplo, 4096)
Então o que esse trecho de código está fazendo é executar essa função de captura de string com esse tamanho passado até que seja final de arquivo. a função echo vai jogar o conteúdo da variável $line na tela a cada iteração do loop.
Espero ter ajudado!!!