more efficient file download support using readfile instead of file_get_contents