beware of characters of binary value == 0, as they seem to make fgetcsv ignore the remaining part of a line where they appear.
Maybe this is normal under some convention I don't know, but a file exported from Excel had those as values for some cells *sometimes*, thus fgetcsv return variable cell counts for different lines.
i'm using php 4.3