Espero esto te sirva.
Código php:
Ver original<?php
$nombre_archivo = "archivo.txt";
$archivo = fopen($nombre_archivo,"r"); $linea = fgets($archivo); $arreglo[] = $linea; //guardar linea en arreglo
echo $linea."<br />"; //mostrar linea
}
print_r($arreglo); //imprimir el arreglo }else{
echo "El archivo ".$nombre_archivo. " no existe.";
}
?>
la funcion fgets() te lee desde el principio del archivo hasta que encuentra el final de linea, asi que lo que haces es solo mostrar lo que ha sacado y agregar la etiqueta html de salto de linea. Y para poner lo que has sacado de cada linea a una variable distinta no vas a poder, tiene que ser con un arreglo (algo asi como lo pusiste) solo que con la diferencia que toda la linea la metes en una posicion del arreglo.
Y respodiendo a algo sobre por que no te muestra el $data[1]. no te muestra nada porque la posicion 1 del arreglo $data no existe o no contiene nada, esto es porque los creaste con la funcion Split() que lo que hace es "partir" una cadena y devolver un arreglo con las partes de la cadena, basandose en el "patron" que hayas indicado, que para tu caso fue ";" si no encuentra ese caracter entonces toda la cadena la meterá en la primera posición del arreglo.
Saludos.