No entiendo porqué usas file() para partir tu archivo en líneas ycrear un ciclo paracada una de ellas si después vas a juntar todo nuevamente en la variable $codigo. Me refiero a esta parte:
Si puedes usar en vez
file_get_contents():
Igual en la línea 44.
Saludos,