Es muy posible que tengas el fallo de maximun execution time exceded.
Pero no parece que sea la función, depende del tamaño del archivo,
Puedes solucionarlo con
Código PHP:
ini_set("max_excecution_time","xxx");
justo antes de llamar a la función y cada vez que lo haces.
A ver si te sirve, saludos