yeah that is what I was talking about(you wouldn't need the directory info thou)
But I probably would prefer my second idea. It is much more complicated but can be also more advanced.
This approach would be more like a little version control system(like git, svn). You could calculate patches between two version by comparing all the files and only providing the differences in diff files, which you then could pack into a zip file.