Seguro que no es problema del tamaño del archivo??. Como qu eesa condicional esta el revés ¿no crees?; devolveria TRUE cuando es mejor de la cantidad que colocaste... y si te devuelve TRUE estás mostrando el mensaje de error...
Eso de que la variable te llegue vacia... ¿dónde haces la impresión?. ¿sucede siempre con un mismo archivo ó solo "algunas veces"?...
PD: Procura ocupar las etiquetas correspondientes para el código... se lee mucho mejor.