¿Puede ser que no ande en las líneas más largas?
Si es así, recomiendo que saques los últimos dos parámetros de fgetcsv... el último no hace nada ("," es el valor por defecto) y el anterior limita el tamaño
Código PHP:
while (( $data = fgetcsv ( $fp )) !== FALSE )