Cerrar archivo después de escritura
Añades un if para no cerrar el documento con fclose($fp) si quedan mas líneas, esto no es necesario porque si que tiene que cerrarlo aunque que queden mas líneas porque luego lo reabres con fopen si estuviera dentro del bucle, de esta forma ahorras código y aumenta la legibilidad además que no tiene inconveniente (que yo sepa) que habrá y cierre el documento.