Si usas "w" lo que haces es abrir el archivo en modo escritura .. pero el puntero queda al principio del archivo .. por eso "re-escribes" siempre el contenido de este. Debes usar el modo "a+" que abre el archivo en modo escritura/lectura y deja el puntero al final del archivo (para que añadas más líneas al mismo).
Revisa la documentación oficial de PHP al respecto:
www.php.net/fopen
Un saludo,