Yo lo replantearia todo y usaria
file() en lugar de fopen en la linea 2 de tu codigo. Eso te creara un array con todas las lineas, solo tendras que substituir el elemento buscado en el array y luego reescribes entero el fichero con el contenido del array.(Lo mismo que haces pero con menos lineas de codigo)
Por otro lado
Manual Cita: unset — Destruye una variable especificada
no substituye el contenido de
$lineas[0] por 0 sino que elimina el primer elemento del array...
Esto si mete un cero en la linea cero.