Hello,
//exclude empty lines if (!is\_array($row)) { continue; }
Das ist falsch.
Eine leere Zeile wurde bis zu PHP 5.2.9(?) als Array mit einem leeren Element berücksichtigt (Bug) und danach, wie im Handbuch beschrieben, mit einem Array mit einem Element, das NULL enthält.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg