where file is refered to as $file
name type _size are all set by PHP automagically. So perhaps that would explain why your books and other material doesn't go indepth on that.
As far as how it sets that information, I believe it establishes that when it creates the temp file from the upload, since it would need to create an association of attributes to correctly restore the file after moved from the temp directory as well as ensuring that the full filesize was intact.
But do not worry yourself with these details, just be confident that they are there and put them to use.